סטטיסטיקה בסיסית והסקה סטטיסטית ב- r
DESCRIPTION
סטטיסטיקה בסיסית והסקה סטטיסטית ב- R. Everything differs !!!. "צפויים להימצא הבדלים בין x ל- y " היא אמירה טריוויאלית. הסטטיסטיקאי שבכם שואל "האם ההבדלים שנמצאו גדולים מהצפוי באקראי " הביולוג שבכם שואל "למה ההבדלים הם לכיוון ובדרגה שמצאתי ". מדדים לנטייה מרכזית *. ממוצע. - PowerPoint PPT PresentationTRANSCRIPT
סטטיסטיקה בסיסית Rוהסקה סטטיסטית ב-
Everything differs!!!
" y ל-x"צפויים להימצא הבדלים בין היא אמירה טריוויאלית
הסטטיסטיקאי שבכם שואל "האם ההבדלים שנמצאו גדולים מהצפוי באקראי"
הביולוג שבכם שואל "למה ההבדלים הם לכיוון ובדרגה שמצאתי"
מדדים לנטייה מרכזית*
ממוצע1.
חשבוני, גיאומטרי, הרמוני
* = Moments of central tendency
Arithmetic mean: Σxi/n
Geometric mean: (x1*x2*…*xn)1/n
Harmonic mean :
מדדים לנטייה מרכזית Rב-
. ממוצע חשבוני1
. ממוצע גיאומטרי2
Arithmetic mean: Σxi/n
Geometric mean: (x1*x2*…*xn)1/n
דוגמא: ”mean“הפונקציה data<-c(2,3,4,5,6,7,8) mean(data)[1] 5
data<-c(2,3,4,5,6,7,8) exp(mean(log(data)))
[1] 4.549163
ניתן גם לעבוד מהקובץ: דוגמא: dat<-read.csv("island_type_final2.csv")Attach(dat)mean(lat)[1] 17.40439
מדדים לנטייה מרכזית*
(meanא. ממוצע )1.
(medianב. חציון )
(modeג. שכיח )
* = Moments of central tendency
דוגמא: data<-c(2,3,4,5,6,7,8) median(data)[1] 5
median(mass) [1] 0.69
דוגמאמהקובץ:
מדדים לנטייה מרכזית
ממוצע1.
שונות*2.
הממוצע הוא מדד טוב יותר למה שקורה באוכלוסיה\מדגם כשהשונות
קטנה או גדולה?
*Variance = Σ(xi-μ)2 / n דוגמא:
http://www.statmethods.net/management/functions.html
data<-c(2,3,4,5,6,7,8) var(data)[1] 4.666667
Var(lat)[1] 89.20388
מדדים לנטייה מרכזית
ממוצע1.
שונות2.
דוגמאות למומנט השני הן, למשל, השונות, סטיית התקן, שגיאת 99%, 95, 90, ורווח הסמך )של coefficient of variationהתקן, ה-
או מה שלא יהיה(.
המומנט השני של נטייה מרכזית הוא מדד לפיזור הנתונים מסביב למומנט
הראשון
מדדים לנטייה מרכזית
גודל מדגם:
:שונות
סטיית תקן:
שגיאת תקן:
coefficient of variation:
#for:data<-c(2,3,4,5,6,7,8)
var(data)
sd(data)
length(data)
se<-(sd(data)/length(data)^0.5)se [1] 0.8164966
CV<-sd(data)/mean(data)CV [1] 0.4320494
מדדים לנטייה מרכזית
ממוצע1.
שונות2.
(Skewהטייה )3.
האם בהתפלגות שכיחויות מוטה הממוצע החשבוני הוא מדד טוב לנטייה מרכזית?
התפלגות שכיחויות מוטה אינה סימטרית!
מהו השכר הממוצע של כל הסטודנטים פה ושל ביל גייטס?
מדדים לנטייה מרכזית
(Skewהטייה )
skew<-function(data){ m3<-sum((data-mean(data))^3)/length(data) s3<-sqrt(var(data))^3 m3/s3}skew(data)
sdskew<-function(x) sqrt(6/length(x))שגיאת תקן של הטיה:
מדדים לנטייה מרכזית
ממוצע1.
שונות2.
(Skewהטייה )3.
(Kurtosisקורטוזיס )4.
מדדים לנטייה מרכזית
(Kurtosisקורטוזיס )1.kurtosis<-function(x){ m4<-sum((x-mean(x))^4)/length(x) s4<-var(x)^2 m4/s4-3 }kurtosis(x)
שגיאת תקן של קורטוזיס:
sdkurtosis<-function(x) sqrt(24/length(x))
התפלגות נורמאלית יכולה לקבל כל ערך של ממוצע והקורטוזיס שלה צריכים skewnessושונות, אבל ה-
להיות שווים לאפס
וקורטוסיס יש skewלערכי שונות משלהם – ואפס צריך להיות מחוץ לרווח הסמך שלהם כדי שהם יהיו שונים
מאפסבמובהק
של מודליםכשאנחנו עושים סטטיסטיקה אנחנו יוצרים המציאות
אחד המודלים הפשוטים ביותר הוא הממוצע:
ס"מ173הגובה הממוצע של אזרחי ישראל הוא )נגיד(
(2014 ₪ )למ"ס, נתוני אפריל 9271השכר הממוצע הוא
חודשים24והשירות הצבאי הממוצע הוא )אולי(
₪ בחודש 46,699)הערכת חסר, ללא הטבות(
Residuals
:// . . . /1.2057452http www haaretz co il
דוב ליאורשירת בצה"ל חודש
אחד
מטר2.06
של מודליםכשאנחנו עושים סטטיסטיקה אנחנו יוצרים המציאות 24 ₪, 9271 ס"מ, 173כך שכאן, המודלים שלנו:
חודשים, אינם מוצלחים במיוחד
Residuals
הוא הכמות בה ערך מסויים רחוק מהניבוי של Residualה- ס"מ מהמודל "ישראלי 32המודל. כך שליאור אליהו רחוק
ס"מ מהמודל המורכב יותר "גבר 29", ורחוק 173= ".168, אישה ישראלית = 177ישראלי =
Residual = 33 cm
Residual = ₪ 37428
Residual = -23 month IDF service
של מודליםכשאנחנו עושים סטטיסטיקה אנחנו יוצרים המציאות
Residuals
Residual = -23 month service
Residual = ₪ 37428Residual = 33 cm
dat<-read.csv("island_type_final2.csv")model<-lm(mass~iso+area+age+lat, data=dat)out<-model$residualsoutwrite.table(out, file = "residuals.txt",sep="\t",col.names=F,row.names=F)
#note that residual values are in the order entered (i.e., not alphabetic, not by residual size – first in, first out)
אותם: נתארכשיש לנו נתונים בשלב הראשון כדאי שנצייר גרפים, נחשב ממוצע וכדומה
אנו בוחנים את התנהגותם של בהסקה סטטיסטיתהנתונים שלנו אל מול השערה )היפותזה( מסויימת
מודל סטטיסטיאת ההשערה שלנו אנו יכולים להציג כ
למשל:
התפלגות גבהים היא נורמאלית•
מספר המינים הולך ועולה עם העליה בשטח•
מספר המינים הולך ועולה עם העליה בשטח על פי •power function -0.25שלו מעריך חזקה השווה ל
סטטיסטיקה תיאורית והסקה סטטיסטית
התפלגות שכיחויות*
= *frequency distribution, in graphic form = “histogram”
כמה תצפיות יש בכל קטגוריה
(bin)
כל מרחב מבטאת את התצפיות
dat<-read.csv("island_type_final2.csv")attach(dat)names(dat)Hist(mass)
התפלגות שכיחויות
מה למדנו?
ק"ג.100אין מסות קטנות מעשירית הגרם או גדולות מ-• גרם נפוצות – גדולות יותר או קטנות 1-10לטאות במסות של •
יותר נדירותההתפלגות היא חד שיאית, ומוטה לימין•
dat<-read.csv("island_type_final2.csv")attach(dat)Hist(mass)
התפלגות שכיחויותלא חייבת להיות כל כך מכוערת
dat<-read.csv("island_type_final2.csv")attach(dat)
hist(mass, col="purple",breaks=25,xlab="log mass (g)",main="masses of island lizards - great data by Maria",cex.axis=1.2,cex.lab=1.5)
plot(type,brood)
הצגת משתנה קטגורי לעומת משתנה רציף אחרdat<-read.csv("island_type_final2.csv")attach(dat)
העדיפו !bar plot על Box & Whiskers plotתמיד
הצגת משתנה רציף לעומת משתנה רציף אחרdat<-read.csv("island_type_final2.csv")attach(dat)
plot(mass,clutch)
plot(mass,clutch,pch=16,col="blue“)
איזה מבחן נבחר?
response variable זה משתנה בהתאם לטבע ה-(, ובעיקר לפי טבע y)=המשתנה התלוי, זה שעל ציר ה-
predictor variablesה-
", הצלחה או כשלוןהוא " response variableאם ה-•והשערת האפס היא של שיוויון ביניהם, נשתמש במבחן
(.binomialבינומי )
נשתמש לרוב ספירותשלנו הוא response variableאם ה-•.G (=log-likelihood)או 2χבמחני
מינים, 14 )רציףשלנו יהיה response variable לרוב ה-• ביצים, 7.3 פעימות לדקה, 54מ"מ, 87.5 פרטים, 78 מעלות(.23
איזה מבחן ?response variable מהו ה-נבחר?
רציף
78 מינים, 14)מ"מ, 87.5פרטים,
7.3 חודשים, 54 מעלות(23ביצים,
"הצלחה" או "כישלון"
)מצא את הגבינה\אידיוט(
מבחן בינומי (binomial)
G-בריבוע או חי(=log-
likelihood)
ספירות
6)שכיחויות: 9זכרים, נקבות(
עוד מעט...
Binomial test in R
binom.test(19,34) Exact binomial test data: 19 and 34 number of successes = 19, number of trials = 34p-value = 0.6076 alternative hypothesis: true probability of success is not equal to 0.5 95 percent confidence interval: 0.3788576 0.7281498 sample estimates: probability of success 0.5588235
binom.test(19,20) Exact binomial test data: 19 and 20 number of successes = 19, number of trials = 20, p-value = 4.005e-05 alternative hypothesis: true probability of success is not equal to 0.5 95 percent confidence interval: 0.7512672 0.9987349 sample estimates: probability of success 0.95
יש להגדיר את מספר ההצלחות מתוך גודל המדגם הכולל.
מתוך 19: 2 )לא מובהק(. דוגמה 34 מתוך 19: 1דוגמה )מובהק(20
Chi-square test in R
chisq.testhabitat diet species#island carnivore 488island herbivore 43island omnivore 177mainland carnivore 1901mainland herbivore 101mainland omnivore 269
M<-as.table(rbind(c(1901,101,269),c(488,43,177)))chisq.test(M)
Data: lizard insularity & diet:
data: M
χ2 = 80.04, df = 2, p-value < 2.2e-16
Chi-square test in R
chisq.test
M<-as.table(rbind(c(7,45,45),c(1,30,14),c(23,110,44)))chisq.test(M)
data: M
χ2 = 17.568, df = 4, p-value = 0.0015
והפעם עם בסיס הנתונים שלנו:
dat<-read.csv("island_type_final2.csv")install.packages("reshape")Library(reshape)cast(dat, type ~ what, length)
type anoles else geckoContinental 7 45 45Land_bridge 1 30 14Oceanic 23 110 44
איזה מבחן נבחר?
רציףשלנו הוא response variableאם ה predictor variablesנבחר מבחן לפי טבע ה-
בדיד )אתר א', אתר ב', predictor variable אם ה-•אתר ג'; זכר\נקבה; מין א', מין ב, מין ג'; שטח
עירוני\שטח טבעי; טיפול א', טיפול ב', ביקורת(
ANOVA (analysis of variance)המבחן יהיה
רציף )מעלות צלסיוס, predictor variable אם ה •כמות מזון, קו רוחב, כמות משקעים, מספר
המבחן יהיהמתחרים, אחוז כיסוי( רגרסיה
Sex sizefemale 79.7male 85male 120female 133.0male 118female 126.0female 105.8male 112male 106female 121.0male 95female 111.0male 86female 93.0male 65female 75.0male 230female 240.0
t-test in Rt.test(x,y)
dimorphism<-read.csv("ssd.csv",header=T)
attach(dimorphism)
names(dimorphism)
males<-size[Sex=="male"]
females<-size[Sex=="female"]
t.test(females,males)
Welch Two Sample t-test data: females and males t = -2.1541, df = 6866.57, p-value = 0.03127 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -7.5095545 -0.3536548 sample estimates: mean of x mean of y 88.17030 92.10191
t-test in R (2)lm(x~y)
dimorphism<-read.csv("ssd.csv",header=T)
attach(dimorphism)
names(dimorphism)
model<-lm(size~Sex,data=dimorphism)
summary(model)
Estimate standard error t p value(Intercept) 88.17 1.291 68.32 <2e-16 ***Sexmale 3.932 1.825 2.154 0.031 *
Sex sizefemale 79.7male 85male 120female 133.0male 118female 126.0female 105.8male 112male 106female 121.0male 95female 111.0male 86female 93.0male 65female 75.0male 230female 240.0
Species size SexXenagama_zonura 79.7 femaleXenagama_zonura 85 maleXenosaurus_grandis 120 maleXenosaurus_grandis 133.0 femaleXenosaurus_newmanorum 118 maleXenosaurus_newmanorum 126.0 femaleXenosaurus_penai 105.8 femaleXenosaurus_penai 112 maleXenosaurus_platyceps 106 maleXenosaurus_platyceps 121.0 femaleXenosaurus_rectocollaris 95 maleXenosaurus_rectocollaris 111.0 femaleZonosaurus_anelanelany 86 maleZonosaurus_anelanelany 93.0 femaleZootoca_vivipara 65 maleZootoca_vivipara 75.0 femaleZygaspis_nigra 230 maleZygaspis_nigra 240.0 femaleZygaspis_quadrifrons 195 maleZygaspis_quadrifrons 227.0 female
Paired t-test in Rt.test(x,y,paired=TRUE)
dimorphism<-read.csv("ssd.csv",header=T)
attach(dimorphism)
names(dimorphism)
males<-size[Sex=="male"]
females<-size[Sex=="female"]
t.test(females,males, paired=TRUE)
Paired t-test data: females and males t = -10.192, df = 3503, p-value < 2.2e-16 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -4.688 -3.175 sample estimates: mean of the differences -3.931
tapply(size,Sex,mean) female male88.17 92.10
ANOVA in R
model<-aov(x~y)
aov
island<-read.csv("island_type_final2.csv",header=T)names(island) [1] "species" "what" "family" "insular" "Archipelago" "largest_island" [7] "area" "type" "age" "iso" "lat" "mass" [13] "clutch" "brood" "hatchling" "productivity“
model<-aov(clutch~type,data=island)summary(model)
species type clutchTrachylepis_sechellensis Continental 0.6Trachylepis_wrightii Continental 0.65Tropidoscincus_boreus Continental 0.4Tropidoscincus_variabilis Continental 0.45Urocotyledon_inexpectata Continental 0.3Varanus_beccarii Continental 0.58Algyroides_fitzingeri Land_bridge 0.4Anolis_wattsi Land_bridge 0Archaeolacerta_bedriagae Land_bridge 0.65Cnemaspis_affinis Land_bridge 0.3Cnemaspis_limi Land_bridge 0.18Cnemaspis_monachorum Land_bridge 0Amblyrhynchus_cristatus Oceanic 0.35Ameiva_erythrocephala Oceanic 0.6Ameiva_fuscata Oceanic 0.6Ameiva_plei Oceanic 0.41Anolis_acutus Oceanic 0Anolis_aeneus Oceanic 0Anolis_agassizi Oceanic 0Anolis_bimaculatus Oceanic 0.18Anolis_bonairensis Oceanic 0
Df Sum sq Mean sq F value Pr(>F)type 2 0.466 0.23296 2.784 0.0635 .Residuals 289 24.184 0.08368
R ב-ANOVA ל-post-hocמבחן
TukeyHSD(model)
ההבדלים אינם מובהקים )שימו לב שאפס תמיד ברווח הסמך. ההבדל בין איי מדף יבשת
= pלאיי פלטות טקטוניות קרוב למובהקות, 0.056)
Tukey multiple comparisons of means 95% family-wise confidence level
Fit: aov(formula = clutch ~ type, data = island)
$type diff lwr upr p adjLand_bridge-Continental 0.124 -0.0025 0.2505 0.0561Oceanic-Continental 0.0218 -0.0671 0.1108 0.8318Oceanic-Land_bridge -0.102 -0.2206 0.0163 0.1066
correlation in R
cor.test(x,y)
island<-read.csv("island_type_final2.csv",header=T)names(island) [1] "species" "what" "family" "insular" "Archipelago" "largest_island" [7] "area" "type" "age" "iso" "lat" "mass" [13] "clutch" "brood" "hatchling" "productivity“
” הוא מקדם cor“המשתנה
rהקורלציה
attach(island)cor.test(mass,lat)
Pearson's product-moment correlation data: mass and lat t = -1.138, df = 317, p-value = 0.256 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -0.17239 0.04635 sample estimates: cor -0.06378
lat mass5 1.215 0.834 1.8418 1.3918 0.4218 0.2920 0.4518 1.5418 0.3618 0.2718 0.0418 0.015 1.2121 0.9521 0.5121 0.2922 0.7421 0.92
regression in R
lm (=“linear model”):
lm (y~x)
נתונים אותםבדוגמה כמו
הקודמת
model<-lm(mass~lat,data=island)summary(model)
Call: lm(formula = mass ~ lat, data = island)Residuals: Min 1Q Median 3Q Max -4.708 -1.774 0.470 1.465 3.725
Residual standard error: 0.8206 on 317 degrees of freedom Multiple R-squared: 0.004069, Adjusted R-squared: 0.0009268 F-statistic: 1.295 on 1 and 317 DF, p-value: 0.256
Coefficients:
Estimate Std. Error t value Pr(>|t|)(Intercept) 0.958034 0.096444 9.934 <2e-16 ***lat -0.00554 0.004872 -1.138 0.256
aov לעומת lm
גם ANOVAאולי במפתיע אפשר לבחון נתונים המתאימים ל-.lmבמבחן
lm של summaryבמקרה כזה נקבל את כל המידע שנותן ה-, שגיאות parameter estimatesבמבחן רגרסיה, כולל )חשוב!(
קטגוריות 2 לכל קונטרסט )בין pתקן, הבדלים בין פקטורים וערכי-של המשתנה המסביר הקטגוריאלי(
aov לעומת lm
Estimate Std. Error t value Pr(>|t|) (Intercept) 0.33149 0.02984 11.11 <2e-16 ***typeLand_bridge 0.12399 0.05369 2.309 0.0216 *typeOceanic 0.02184 0.03777 0.578 0.5635
.lm גם במבחן ANOVAאולי במפתיע אפשר לבחון נתונים המתאימים ל-
במבחן רגרסיה, lm של summaryבמקרה כזה נקבל את כל המידע שנותן ה-, שגיאות תקן, הבדלים בין פקטורים parameter estimatesכולל )חשוב!(
קטגוריות של המשתנה המסביר הקטגוריאלי(2 לכל קונטרסט )בין pוערכי-
Residual standard error: 0.2893 on 289 degrees of freedom )27 observations deleted due to missingness( Multiple R-squared: 0.0189, Adjusted R-squared: 0.01211 F-statistic: 2.784 on 2 and 289 DF, p-value: 0.06346 עוד בהמשך
island<-read.csv("island_type_final2.csv",header=T)model<-aov(clutch~type,data=island)model2<-lm(clutch~type,data=island)summary(model)summary(model2)
Df Sum sq Mean sq F value Pr(>F)type 2 0.466 0.23296 2.784 0.0635 .Residuals 289 24.184 0.08368
aovטבלת
lmטבלת
הנחותיהם של מבחנים סטטיסטיים )כל המבחנים
הסטטיסטיים(
מדגם אקראי )הנחה של כל מבחן – לא רק פרמטרי(1.
אי תלות )מרחבית, בזמן, פילוגנטית וכו'(2.
A non-random, non-independent sample of Israeli people
ANOVAהנחותיהם של מבחנים פרמטריים א.
(Homoscedasticityשיוויון שוניות )1.
residualsשל ה-התפלגות נורמלית 2.
בנוסף להנחות של כל מבחן
:קריאהSokal & Rohlf 1995. Biometry. 3rd edition. Pages 392-409 (especially 406-407 for normality)
"Comments on earlier drafts of this manuscript made it clear that for many readers who analyze data but who are not particularly interested in statistical questions, any discussion of statistical methods becomes uncomfortable when the term ‘‘error variance’’ is introduced.“
Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.
Richard Smith & 3 friends
Briggs Henan University 201040
Anscombe 1973. Graphs in statistical analysis. The American Statistician 27: 17–21 .
Always look at your data
Anscombe's quartet Summary statistics are the same for all four data sets:
• mean (7.5), • standard deviation (4.12)• correlation (0.816)• regression line (y = 3 + 0.5x)
Don’t just rely on the statistics!
הנחותיהם של מבחנים פרמטריים ב: רגרסיה
(Homoscedasticityשוויון שונויות )1.
Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.
הנחותיהם של מבחנים פרמטריים ב: רגרסיה
(Homoscedasticityשוויון שונויות )1.
( נמדד ללא explanatory variableהמשתנה המסביר )2.שגיאה
Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.
הנחותיהם של מבחנים פרמטריים ב: רגרסיה
(Homoscedasticityשוויון שונויות )1.
עבור כל ערך של המשתנה המסבירresidualsהתפלגות נורמלית של ה 2.
עבור כל ערך של המשתנה residualsהתפלגות נורמלית של ה-3.המסביר
Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.
הנחותיהם של מבחנים פרמטריים ב: רגרסיה
(Homoscedasticityשוויון שונויות )1.
( נמדד ללא שגיאהexplanatory variableהמשתנה המסביר )2.
עבור כל ערך של המשתנה residualsהתפלגות נורמלית של ה 3.המסביר
שוויון שונויות עבור כל ערך של המשתנה המסביר4.
Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.
הנחותיהם של מבחנים פרמטריים ב: רגרסיה
(Homoscedasticityשוויון שונויות )1.
( נמדד ללא שגיאהexplanatory variableהמשתנה המסביר )2.
עבור כל ערך של המשתנה residualsהתפלגות נורמלית של ה 3.המסביר
שוויון שונויות עבור כל ערך של המשתנה המסביר4.
יחס לינארי בין המשתנה המסביר למשתנה המגיב5.
Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.
https://www.youtube.com/watch?v=eTZ4VUZHzxw
איך נבדוק אם המודל מתנהג לפי ההנחות?
שימושיות למדי model diagnostic functions יש Rל-שמאפשרות לנו להעריך )באופן גרפי, איכותי( עד כמה
הנחות מודלים )בדגש על רגרסיה( מתקיימות
http://stat.ethz.ch/R-manual/R-patched/library/stats/html/plot.lm.htmlראו גם:
מה עושים אם הנתונים לא מתנהגים לפי
ההנחות? מתעלמים ומקווים שהמבחן רובוסטי להפרה של הנחותיו: 1.זה לא תמיד בלתי סביר כמו שזה נשמע
-פרמטרייםמשתמשים במבחנים א2.
) glm (או בקיצור generalized linear modelsמשתמשים ב-3.בגדול זה אומר:
(link functions זה אומר שינוי glmטרנספורמציות )ב-•
( להתפלגויות לא glm)ב- error distributionשינוי ב-•נורמאליות
משתמשים במבחן לא לינארי4.
)ראו בהרצאות של רועי הולצמן(משתמשים ברנדומיזציות 5.
מבחנים א-פרמטריים
מבחנים א-פרמטריים לא מניחים שוויון שונויות או התפלגות נורמלית. הם מבוססים
.rankעל חסרונות:
predictorsלא קיימים מבחנים למודלים מרובי
שלהם נמוך משל מבחן statistical powerלעיתים קרובות ה-פרמטרי מקביל
לא מאפשרים הערכת פרמטרים )שיפועים ונקודות חיתוך(
מבחנים א-פרמטריים
מבחנים א-פרמטריים לא מניחים שוויון שונויות או התפלגות נורמלית. הם מבוססים
.rankעל חסרונות:
predictorsלא קיימים מבחנים למודלים מרובי
שלהם נמוך משל מבחן statistical powerלעיתים קרובות ה-פרמטרי מקביל
לא מאפשרים הערכת פרמטרים )שיפועים ונקודות חיתוך(
נראה לי ממש לא בסדר
שבמצגת שלמה אין לי תמונות
של חיות
כמה מבחנים א-פרמטריים שימושיים
Orycteropus afer להרצאה קשר אין למצולם
הוא מבחן א-פרמטרי χ2מבחן
הוא מבחן א-פרטרי להשוואת שתי התפלגויות שכיחויות (או קולמוגורוב-סמירנוב השוואת התפלגות "שלנו" להתפלגות ידועה – דוגמת הנורמלית)
Mann-Whitney U = Wilcoxon rank sum הוא מבחן א-פרטרי המחליף מבחןt
Wilcoxon two-sample (=Wilcoxon signed-rank) test מחליף מבחןpaired-t
Kruskal-Wallis מחליף מבחןone-way ANOVA
קורלציהמחליפים מבחן Kendall’s-tau ומבחן Spearman מבחן
Rמבחנים א-פרמטריים ב-
Orycteropus afer להרצאה קשר אין למצולםהוא מבחן א-פרטרי להשוואת שתי -סמירנוב קולמוגורוב
התפלגויות שכיחויות (או השוואת התפלגות "שלנו" להתפלגות ידועה – דוגמת הנורמלית)
island<-read.csv("island_type_final2.csv",header=T)attach(island)levels(type) [1] "Continental" "Land_bridge" "Oceanic“
Land_bridge<-mass[type=="Land_bridge"]
Oceanic <-mass[type==" Oceanic"]
ks.test(Land_bridge, Oceanic)
: נאמר שאנו רוצים להשוות בין response ואת ה-grouping variable את ה-Rצריך להגדיר ל-התפלגויות השכיחויות של מסת הגוף של לטאות באיי מדף יבשת ואיים אוקייניים:
Two-sample Kolmogorov-Smirnov test
data: Land_bridge and Oceanic
D = 0.1955, p-value = 0.1288
alternative hypothesis: two-sided
Rמבחנים א-פרמטריים ב-
Mann-Whitney U = Wilcoxon rank sum הוא מבחן א-פרטרי המחליף מבחןt
ssd<-read.table("dimorphism.txt",header=T)attach(ssd)names(ssd)[1] "binomial" "sex" "svl"
( בין זכרים ונקבות של לטאות SVLהאם יש הבדל בגודל הגוף )(Lacertidae?)
male<-svl[sex=="male"]
female<-svl[sex=="female"]
wilcox.test(male,female,paired=FALSE)
Wilcoxon rank sum test with continuity correctiondata: male and femaleW = 15396, p-value = 0.1493alternative hypothesis: true location shift is not equal to 0
Rמבחנים א-פרמטריים ב-
ssd<-read.table("dimorphism.txt",header=T)attach(ssd)names(ssd)[1] "binomial" "sex" "svl"
( בין זכרים ונקבות של לטאות SVLהאם יש הבדל בגודל הגוף )(Lacertidae )כאשר משווים בין הזוויגים של אותו מין?
male<-svl[sex=="male"]
female<-svl[sex=="female"]
wilcox.test(male,female,paired=TRUE)
Wilcoxon rank sum test with continuity correctiondata: male and femaleV = 8822.5, p-value = 1.773e-06alternative hypothesis: true location shift is not equal to 0
Wilcoxon two-sample (=Wilcoxon signed-rank) test מחליף מבחןpaired-t
Rמבחנים א-פרמטריים ב-
( בין זכרים ונקבות של לטאות SVLהאם יש הבדל בגודל הגוף )(Lacertidae )כאשר משווים בין הזוויגים של אותו מין?
names(ssd)[1] "binomial" "sex" "svl"
wilcox.test(male,female,paired=TRUE)
Wilcoxon rank sum test with continuity correctiondata: male and femaleV = 8822.5, p-value = 1.773e-06alternative hypothesis: true location shift is not equal to 0
Wilcoxon two-sample (=Wilcoxon signed-rank) test מחליף מבחןpaired-t
אבל יש כאן בעיה: אנחנו רוצים שהמבחן יהיה מזווג ( – אבל בשום מקום לא הגדרנו binomialלפי המין )
זאת!
Rמבחנים א-פרמטריים ב-
כאשר משווים בין הזוויגים של האם יש הבדל בגודל הגוף של זכרים ונקבות של לטאות ?אותו מין
Wilcoxon two-sample (=Wilcoxon signed-rank) test מחליף מבחןpaired-t
: בעצם נהפוך את הנתונים למטריצה recastנשתמש ב-)מה שבדרך כלל מנסים להמנע ממנו בעבודה עם תוכנות סטטיסטיות(
sex<-recast(ssd,binomial~sex,measure.var = "svl")
names(sex) ]1" [binomial" "female" "male "
שימו לב לשינוי מהשמות הקודמים!
Rמבחנים א-פרמטריים ב-
כאשר משווים בין הזוויגים של האם יש הבדל בגודל הגוף של זכרים ונקבות של לטאות ?אותו מין
Wilcoxon two-sample (=Wilcoxon signed-rank) test מחליף מבחןpaired-t
: בעצם נהפוך את הנתונים למטריצה recastנשתמש ב-)מה שבדרך כלל מנסים להמנע ממנו בעבודה עם תוכנות סטטיסטיות(
sex<-recast(ssd,binomial~sex,measure.var = "svl")
names(sex)
sex
wilcox.test(sex$female,sex$male,paired=TRUE)
]1" [binomial" "female" "male "
Wilcoxon signed rank test with continuity correctiondata: sex$female and sex$maleV = 3423.5, p-value = 1.773e-06
Rמבחנים א-פרמטריים ב-
כאשר משווים בין הזוויגים של האם יש הבדל בגודל הגוף של זכרים ונקבות של לטאות ?אותו מין
Wilcoxon two-sample (=Wilcoxon signed-rank) test מחליף מבחןpaired-t
: בעצם נהפוך את הנתונים למטריצה recastנשתמש ב-)מה שבדרך כלל מנסים להמנע ממנו בעבודה עם תוכנות סטטיסטיות(
sex<-recast(ssd,binomial~sex,measure.var = "svl")
names(sex)
sex
wilcox.test(sex$female,sex$male,paired=TRUE)
tנ.ב. זו גם הדרך לערוך מבחןמזווג:
t.test(sex$female,sex$male,paired = T)
]1" [binomial" "female" "male "
Rמבחנים א-פרמטריים ב-
Kruskal-Wallis מחליף מבחןone-way ANOVA
Kruskal-Wallis rank sum testdata: clutch by typeKruskal-Wallis chi-squared = 7.1639, df = 2, p-value = 0.02782
הקוד למבחן זה דומה מאוד לקוד של מבחן ANOVA אותו הוא מחליף, רק שבמקום aov נכתוב
kruskal.test
kruskal.test(clutch~type)
island<-read.csv("island_type_final2.csv",header=T)Attach(island)
Rמבחנים א-פרמטריים ב-
קורלציהמחליפים מבחן Kendall’s-tau ומבחן Spearman מבחן
cor.test(clutch, mass, method="spearman")
#or
cor.test(clutch, mass, method="kendall")
למעשה הקוד פה הוא וריאציה על הקוד הרגיל למבחן קורלציה, על ידי הוספת ההגדרה למבחן הא-פרמטרי
”method“הרלוונטי בפרמטר ,cor.test(clutchבמקום לכתוב:
mass)נכתוב
Spearman's rank correlation rho data: clutch and mass S = 1907900, p-value < 2.2e-16; rho 0.5402
Kendall's rank correlation tau data: clutch and mass z = 9.747, p-value < 2.2e-16; tau 0.4059
ונקבל בהתאמה:
Generalized linear models (GLM)
אינו רציף )ספירות, response variable כשה GLMמשמשים ב-פרופורציות, בינארי וכו'( - או כשהנחות המבחנים
הפרמטרים )התפלגות נורמלית, שיוויון שונויות( אינן מתקיימות
GLM:מורכב שלושה חלקים
1 .linear predictor; 2. link function; 3. error distribution
הראשון הוא ערך הפרמטר, השני מדבר על טרנספורמציה )למשל ” עבור טרנספורמציה log” כשאין טרנספורמציה ו-“identity“הוא
– למשל גאמא, residualsלוגריתמית( והשלישי אומר מה התפלגות ה GLM ה error=normal ו-link=identityפואסון או נורמלית. במקרה הפרטי בו
זהה למודל לינארי "רגיל"
Generalized linear models (GLM)
מורכב שלושה חלקים:
1 .linear predictor; 2. link function; 3. error distribution
הראשון הוא ערך הפרמטר, השני מדבר על טרנספורמציה )למשל הוא “identity“ כשאין טרנספורמציה ו ”log )עבור טרנספורמציה לוגריתמית ”
גאמא, פואסון או למשל – residualsוהשלישי אומר מה התפלגות ה-.נורמלית
modelX<-glm(clutch~log10(age)+asin(lat),family=Gamma)
Log link arcsin link Gamma errors
זהה למודל לינארי GLM ה-error=normal ו-link=identityבמקרה הפרטי בו ""רגיל
Non-linear models
לעיתים ברור שהיחס בין ה predictor ל response.אינו לינארי
ניתן לבחון מודלים שיודעים להתמודד עם מבנה כזה – למשל ( במודל: quadraticלעיתים קרובות משלבים משוואה ריבועית )
Response = a(predictor)2+b(predictor)+c
וכרגיל אפשר לבדוק אם המודל הקוואדרטי טוב מהמודל )ראו "בחירת מודלים" anova או על ידי AICהלינארי על ידי
בהמשך(
model2<-lm(y~x+I(x^2))
Non-linear models
אינו לינארי.response ל predictorלעיתים ברור שהיחס בין ה
breakpointניתן לבחון מודלים )regression בהם יש משוואות )
לינאריות שונות לערכים שונים של predictorה
Y = A1.x + K1 for x < breakpoint
Y = A2.x + K2 for x > breakpoint
Losos & Schluter 2000. Analysis of an evolutionary species-area relationship. Nature 408: 847-850.
Multiple predictors
מה לעשות, החיים מסובכים. לפעמים מה שמעניין אותנו מושפע
מיותר מגורם אחד!
Smith, R. J. 1999. Statistics of sexual size dimorphism. Journal of Human Evolution 36: 423-459.
קצב ליבם של זוחלים, למשל, מושפע גם מגודל גופם וגם מטמפרטורת הסביבה, וגם מהזמן
והמהירות בהם נעו לאחרונה
מה לעשות, החיים מסובכים. לפעמים מה שמעניין אותנו מושפע מיותר מגורם אחד!
Smith, R. J. 1999. Statistics of sexual size dimorphism. Journal of Human Evolution 36: 423-459.
קצב ליבם של זוחלים, למשל, מושפע גם מגודל גופם וגם מטמפרטורת הסביבה, וגם מהזמן והמהירות בהם
נעו לאחרונהניתן להסביר אם כן את המשתנה המעניין )קצב לב( אם יש לנו
מידע על כל המשתנים המסבירים.
ההנחה היא שכאשר אנו מכניסים את שלושתם למשוואה אנו רואים את השפעתו של כל אחד כאשר שני האחרים "מוחזקים
(held constantקבועים" )
Multiple predictors
Smith, R. J. 1999. Statistics of sexual size dimorphism. Journal of Human Evolution 36: 423-459.
מתאם )גבוה( בין איןהנחה זו נכונה כאשר המשתנים המסבירים לבין עצמם
Multiple predictors
ניתן להסביר אם כן את המשתנה המעניין )קצב לב( אם יש לנו מידע על כל המשתנים המסבירים.
ההנחה היא שכאשר אנו מכניסים את שלושתם למשוואה אנו רואים את השפעתו של כל אחד כאשר שני האחרים "מוחזקים
(held constantקבועים" )
איזה מבחן נבחר?
)נאמר ארבעה( וכולם predictor variablesאם יש כמה
way-4)נאמר ANOVAקטגוריאלים המבחן יהיה ANOVA)
)נאמר שבעה( וכולם predictor variablesאם יש כמה
Multiple Regressionרציפים המבחן יהיה
איך כותבים מבחן עם כמה משתנים מסבירים?
משתמשים בפלוס )+( בין המשתנים המסבירים.
model<-lm(Grade~days_studied+professor_age+prayer_number+reconstruction, data=marks)
summary(model)
lm(y~a+b+c)
למשל במודל שמנסה לחזות ציוני קורסים לפי והאם כמה התפללנו , גיל המרצה, כמה למדנו:יש שחזורים
איזה מבחן נבחר?
( – חלקם 2)לפחות predictor variablesאם יש כמה ( רציפים 1( בדידים וחלקם )לפחות 1)לפחות
ANCOVAהמבחן יהיה )analysis of co-variance(
איך זה נראה גרפית?
ANOVA
Regression
ANCOVA
דוגמא: מדדתי אורך שלוש שיניים בשועלים מצויים, זכרים ונקבות, מכל תחום תפוצתם
p F MS DF SS
0.00 417468.9 304435.2 1304435.2
Intercept
0.00 142.3 103.8 1 103.8 sex
0.00 20704.9 15098.9 2 30197.7 tooth
0.7 2276 1659.8 Error
שני הגורמים מובהקים: יש
הבדל בין השיניים ובין הזוויגים
שן שסע עליונה
שן שסע תחתונ
ה
ניב עליון
ניב
שן שסע תחתונ
ה
שן שסע עליונה
Vulpes vulpes
איך זה נראה גרפית?
ANOVA
Regression
ANCOVA
דוגמא: אורך שלוש שיניים בשועלים מצויים, כפונקציה של קו הרוחב
P tStd. Error
Estimate
> 0.000125.25 0.378 9.554 Intercept
> 0.0001 5.73 0.008 0.044 Latitude
יש כלל ברגמן
אבל קל לראות שהמודל* זוועתי: ניבים קטנים יותר משיני שסע
R-squared: 0.015, F = 32.83, 1 & 2161 DF; p < 0.0001
predictor ליחס בין ה-מודל*קו הרגרסיה הוא responseל-
ANCOVAגרפית
קל להבין את זה גרפית: בדוגמה משתנה בדיד רמות )מקווקו ומלא(, ומשתנה רציף 2אחד עם
(Xאחד )לאורך ציר ה
Null hypothesis
a.
resp
onse
Continuous predictorre
spon
se
b.
Continuous predictor
בדיד מובהק רציף לא
d.
resp
onse
Continuous predictor
שניהם מובהקים
Continuous predictor
c.
resp
onse
רציף מובהק, בדיד לא
ותודה לדניאל על הגרפים
איך זה נראה גרפית?
ANOVA
Regression
ANCOVA
דוגמא: אורך שיניים בשועלים מצויים, כפונקציה של ( ובאיזו שן מדובר עבצ( הזוויג )Xקו הרוחב )ציר ה-
p)צורה( F MS SS Df factor
< 0.0001 191.7 99 99 1 sex
< 0.000127758.7
914332.
728665.
3 2 tooth
< 0.0001 844.69 436.1 436.1 1 Latitude
0.5 1114.2 2158 Residuals
כל הגורמים מובהקים המודל הזה מסביר 96.3% מהשונות
העברנו פה שישה קווי רגרסיה מקבילים
R ב-ANCOVAקריאת תוצאות מודל
Response = intercept + a for level 1 of the 1st categorical predictor variable or + b for level 2 of the 1st + c for level 1 of the 2nd categorical predictor or d for level 2… +k*(value of the continuous predictor variable) + error
למשל, אם נחזור לשועלים
p tStd.
Error Estimate factor
<0.0001 55.92 0.078 4.342
Intercept (tooth c)
<0.0001
224.21 0.038 8.485 tooth_m
<0.0001
174.84 0.038 6.617 tooth_p
<0.0001 12.56 0.031 0.391 sex_male
<0.0001 29.06 0.001 0.043 Latitude
( על פי 32 בזכרים בתל אביב )קו רוחב Pכך שהאורך של שן המודל הוא:
12.726 = 4.342+6.617+0.391+32*0.043
דוגמא ללא אינטראקציו
ת
Too
th /
se
x
Latitude
משווה את כל R, קטגוריאליכשהמשתנה המסביר של הפקטור הראשון בסדר interceptהפקטורים ל-
אלפביתי
היא הראשונה הקטגוריה ואלפביתית האי סוג הוא המסביר המשתנה כאן"Continental"
, ובאיי מדף 0.33כך שגודל התטולה* הממוצע באיי פלטות טקטוניות הוא .0.45548 = 0.33149+0.12399יבשת הוא
= p מובהק )Land Bridge (t = 2.309) ל-continentalההבדל בין 0.021.)
Estimate Std. Error t value Pr(>|t|) (Intercept) 0.33149 0.02984 11.11 <2e-16 ***typeLand_bridge 0.12399 0.05369 2.309 0.0216 *typeOceanic 0.02184 0.03777 0.578 0.5635
הצבי
ש לי
של
טימ
א ל
חדא
ף א
,ת
מית
ריוג
לה
מרה
ר ח
א*ל
island<-read.csv("island_type_final2.csv",header=T)levels(type) [1] "Continental" "Land_bridge" "Oceanic"model<-lm(clutch~type, data=island)summary(model)
R ב-lmאיך קוראים תוצאות של
R ב-lmאיך קוראים תוצאות של מדווח עבורו את R, רציףכשהמשתנה המסביר
שלוt וה-pהשיפוע עם שגיאת התקן שלו וערכי ה-
כאן המשתנים המסבירים )את גודל התטולה( הם שטח האי וקו הרוחב שלו
)היחידות הן לוג ביצים( בכל עליה של 0.0059כך שגודל התטולה עולה ב- יחידות עם העליה בשטח )אך הירידה הזו אינה 0.0016מעלה, ויורד ב-
(t = 0.098, p = 0.92מובהקת:
(t = 3.259, p=0.00126ההשפעה של קו הרוחב מובהקת )
island<-read.csv("island_type_final2.csv",header=T)model3<-lm(clutch~area+lat,data=island)summary(model3)
Estimate Std. Error t value Pr(>|t|) (Intercept) 0.261437 0.061264 4.267 2.68E-05 ***area -0.0016 0.01633 -0.098 0.92196lat 0.005854 0.001796 3.259 0.00125 **
R ב-lmאיך קוראים תוצאות של מדווח עבורו את R, רציףכשהמשתנה המסביר
שלוt וה-pהשיפוע עם שגיאת התקן שלו וערכי ה-
, 21)קו רוחב New Caledoniaכך שלוג גודל התטולה הממוצע של לטאה ב- קמ"ר, לרגע נתעלם מזה שהיחס לשטח לא מובהק( יהיה:4.27לוג שטח
Intercept+slope*area+slope*latitude
0.261-0.0016(slope)*4.27(area)+0.00585(slope)*21latitude = 0.377
Estimate Std. Error t value Pr(>|t|) (Intercept) 0.261437 0.061264 4.267 2.68E-05 ***area -0.0016 0.01633 -0.098 0.92196lat 0.005854 0.001796 3.259 0.00125 **
בחזקת 10 ביצים )2.38או 0.377)
R ב-lmאיך קוראים תוצאות של רציפים וגם כשיש גם המשתנים מסבירים ANCOVAב-
לאחרונים ושיפוע intercept מדווח R, קטגוריאלים t וה-pלראשונים, עם שגיאות התקן שלהם וערכי ה-
המתאימיםmodel4<-lm(brood~mass+lat+type,data=island)summary(model4)
Estimate Std. Error t value Pr(>|t|)(Intercept) 1.177011 0.134218 8.769 5.62E-13 ***mass -0.2402 0.035362 -6.793 2.66E-09 ***lat -0.01864 0.003677 -5.068 3.00E-06 ***typeLand_bridge -0.2175 0.108051 -2.013 0.0479 *typeOceanic -0.06551 0.095145 -0.689 0.4933
מסה, קו ( באמצעות broodsכאן אנו חוזים מספר תטולות שנתי )איי פלטה טקטונית קטגוריות של סוגי איים: 3ו-רוחב
(continental ,) איי מדף יבשת(Land_bridge ) ואיים אוקייניים(Oceanic.)
R ב-lmאיך קוראים תוצאות של ANCOVA רציפים וגם : גם משתנים מסבירים
קטגוריאלים
Residual standard error: 0.2771 on 72 degrees of freedom )242 observations deleted due to missingness( Multiple R-squared: 0.478, Adjusted R-squared: 0.449 F-statistic: 16.48 on 4 and 72 DF, p-value: 1.25e-09
וכו' של המודל בכללותו. F, דרגות חופש, R2אלה ערכי
התעלם מתאים ריקיםRשימו לב ש-
model4<-lm(brood~mass+lat+type,data=island)summary(model4)
Estimate Std. Error t value Pr(>|t|)(Intercept) 1.177011 0.134218 8.769 5.62E-13 ***mass -0.2402 0.035362 -6.793 2.66E-09 ***lat -0.01864 0.003677 -5.068 3.00E-06 ***typeLand_bridge -0.2175 0.108051 -2.013 0.0479 *typeOceanic -0.06551 0.095145 -0.689 0.4933
R ב-lmאיך קוראים תוצאות של model4<-lm(brood~mass+lat+type,data=island)summary(model4)
החיתוך continental<Land_bridge<Oceanicכיוון שאלפביתית (intercept שלנו הוא עבור הקטגוריה הראשונה: מיני )continental .
גדול משל מיני continentalכך שמספר התטולות השנתי של מיני מדף יבשת וגדול בצורה לא מובהקת משל מיני איים אוקיניים )שימו
לב: הבדל שלילי!(.
בנוסף מספר התטולות יורד עם המסה ועם העליה בקו הרוחב )שיפוע שלילי: יותר תטולות ללטאות קטנות, באיזורים טרופיים(.
Estimate Std. Error t value Pr(>|t|)(Intercept) 1.177011 0.134218 8.769 5.62E-13 ***mass -0.2402 0.035362 -6.793 2.66E-09 ***lat -0.01864 0.003677 -5.068 3.00E-06 ***typeLand_bridge -0.2175 0.108051 -2.013 0.0479 *typeOceanic -0.06551 0.095145 -0.689 0.4933
מחשב רק את ההבדל Rאבל בגורמים הקטגוריאלים יש לנו בעיה: בין כל גורם לגורם הראשון באלפבית. כאן בין מיני איי פלטות
טקטוניות יבשת למיני איי מדף יבשת ואיים אוקייניים. אבל הוא לא מחשב ולא מדווח על ההבדלים בין איים אוקייניים לאיי מדף יבשת.
וחוץ מזה, הוא לא נותן לנו עבור שתי קטגוריות אלה שגיאות תקן והבדלים מאפס, אלא רק הבדלים מאיי פלטות טקטוניות ושגיאת
תקן של המבחן הזה )לא את שגיאת התקן של המשתנה עצמו במודל(.
model4<-lm(brood~mass+lat+type,data=island)summary(model4)
Estimate Std. Error t value Pr(>|t|)(Intercept) 1.177011 0.134218 8.769 5.62E-13 ***mass -0.2402 0.035362 -6.793 2.66E-09 ***lat -0.01864 0.003677 -5.068 3.00E-06 ***typeLand_bridge -0.2175 0.108051 -2.013 0.0479 *typeOceanic -0.06551 0.095145 -0.689 0.4933
relevel
מי יהיה הגורם הראשון, אליו הוא Rאפשר להתחכם: להגדיר ל-
:relevelישווה את האחרים, על ידי הפקודה
או
relevel (2)
model4<-lm(brood~mass+lat+type,data=island)summary(model4)
model4a<-lm(brood~mass+lat+relevel(type, "Land_bridge"),data=island)summary(model4a)
model4b<-lm(brood~mass+lat+relevel(type, "Oceanic"),data=island)summary(model4b)
מי יהיה הגורם הראשון, אליו הוא Rאפשר להתחכם: להגדיר ל-:relevelישווה את האחרים, על ידי הפקודה
relevel (3)
שימו לב שהפרמטרים של המודל הכללי נשארו זהים:
Residual standard error: 0.2771 on 72 degrees of freedom )242 observations deleted due to missingness( Multiple R-squared: 0.478, Adjusted R-squared: 0.449 F-statistic: 16.48 on 4 and 72 DF, p-value: 1.25e-09
model4a<-lm(brood~mass+lat+relevel(type, "Land_bridge"),data=island)summary(model4a)
Estimate Std. Error T value t Pr(>|t|)(Intercept) 0.95951 0.148951 6.442 1.16E-08 ***mass -0.2402 0.035362 -6.793 2.66E-09 ***lat -0.01864 0.003677 -5.068 3.00E-06 ***relevel(type,Land_bridge)Continental 0.217501 0.108051 2.013 0.0479 *relevel(type,Land_bridge)Oceanic 0.151989 0.080072 1.898 0.0617 .
Predictor Response test In R
Categorical Success/failure Binomial** binom.test
Categorical Counts Chi-square/G chisq.test
Categorical continuous ANOVA* aov
continuous continuous Regression/correlation lm
continuous Categorical/counts Chi-square/ANOVA lm
Categorical, multiple predictors
continuous Multi-way ANOVA aov
continuous, multiple predictors
continuous Multiple regression lm
Both categorical & continuous predictors
continuous ANCOVA lm
( residualsאם הנחותיהם של מבחנים פרמטריים )שונות דומה, התפלגות נורמלית של ה-מתקיימות:
*t-test if there are only 2 categories
**or logistic regression: https://www.youtube.com/watch?v=EocjYP5h0cE
בחירת המבחן המתאים
אינטראקציות 2קל להבין את זה גרפית: בדוגמה משתנה בדיד אחד עם
רמות )מקווקו ומלא(, ומשתנה רציף אחד )לאורך ציר ה X)
Null hypothesis
a.
resp
on
se
Continuous predictor Continuous predictor
resp
on
se
c.
בדיד מובהק רציף לא
e.
resp
on
se
Continuous predictor
רציף מובהק בדיד לא, יש
אינטראקציה
b.
resp
on
se
Continuous predictor
שניהם מובהקים, אין אינטראקציה
d.
resp
on
se
Continuous predictor
שניהם מובהקים, יש אינטראקציה
f.
resp
on
seContinuous predictor
רציף מובהק בדיד לא, אין
אינטראקציה
Rאינטראקציות ב-
משתמשים בפלוס )+( בין המשתנים המסבירים. עבור main. אם רוצים לבחון גם נקודותייםאינטראקציה משתמשים ב
effectלמשל למשל במודל כוכבית וגם אינטראקציה משתמשים ב כמה , גיל המרצה, כמה למדנושמנסה לחזות ציוני קורסים לפי
:והאם יש שחזוריםהתפללנו
כאן ביקשנו גם שתי אינטראקציות: בין תפילות לשחזורים וגיל לתפילה
lm(y~a*b)
lm(y~a+b+c+a:b)
model<-lm(Grade~days_studied+professor_age+prayer_number*reconstruction_exist+professor_age:prayer_number, data=grades)
חשוב: predictorsהנחת היסוד של מבחנים מרובי
שוניםpredictorsהיא שאין מתאם בין
-multi-coקרוי גם predictor variablesמתאם גבוה בין זוג linearity ולעיתים מבוטא על ידי ,tolerance (1-R2) או על ידי
= Variance Inflation Factors (VIFהרציפרוקלי שלו 1/tolerance)
חזק קיים אזי המודל לא יהיה יציב, multicollinearityאם והערכת הפרמטרים עשויה להיות לא נכונה
אל תכניסו משתנים מנבאים המצויים במתאם גבוה בינם לבין עצמם!
predictorתמיד, תמיד, תמיד, ככל שנוסיף יותר variables נסביר יותר מהשונות
היחס יהיה מונוטוני – וטריוויאלי: במקרה הרע של משתנים נוספים Parameter estimateביותר ה-
יהיו אפס
*קו הרוחב + 87+22.5)למשל מספר מינים = *מספר המנדטים של המפלגות הדתיות באותו 0
אזור(לא יהיה אף פעם בדיוק אפס – parameter estimateאבל ה-
5120הוא פשוט יהיה נמוך מאוד – נאמר נוסף מין על כל מנדטים 974מנדטים שנוספים לש"ס, או נגרע מין על כל
הנוספים לבית היהודי
– זה שווה לנו?0.45007 ל 0.45 שלנו יעלה מ R2ה-
Model selection
למעשה בכל שאלה סטטיסטית אפשר מהשונות באמצעות מספר 100%להסביר
משתנים השווה למספר התצפיות
רוצים דוגמא?
מה הגובה שלכם?
Model selection
אבל, מהי יכולת הניבוי של המודל http://en.wikipedia.org/wiki/Overfittingהזה לנתון הבא???
נסביר predictor variablesככל שנוסיף יותר יותר מהשונות
המטרה שלנו כמדענים היא להסביר את מקסימום התופעות בעזרת מינימום משתנים
תער אוקאםעל שמעתם?
כך שאם יש לנו משתנים מסבירים רבים מאוד נרצה לדעת אילו מהם מוסיפים כל כך מעט שונות מוסברת, שלא שווה לסבך בגללם את
החיים
Model selection
ניתן פשוט לבחון אילו משתנים במודל מובהקים
Model selection
נתחיל במודל המורכב ביותר, ולמחוק כל פעם את הגבוה pהמשתנה )או האינטראקציה( שלו מיוחס ה-
)או ערך 0.05 קטנים מ pביותר – עד שכל ערכי ה = MAM סף אחר(. המודל איתו נשארנו ייקרא
minimum adequate modelדוגמא: מנסים להסביר גודל תטולה בודדת של מינים שונים של לטאות
(response variable: clutch( באמצעות נתונים על גודל גופן )mass ,)(, הגובה החציוני מעל פני הים בו הן tempטמפרטורת הסביבה שלהן )
(. broods(, ומספר התטולות שהן מטילות בשנה )elevationחיות )
Backwards (stepwise) elimination
p. על פי ערכי 1
Estimate se t p(Intercept) 1.585 0.628 2.523 0.012 *mass 4.012 1.507 2.662 0.008 **temp 0.002 0.033 0.056 0.956elevation 0.000 0.001 0.240 0.810broods -0.234 0.098 -2.378 0.018 *
ניתן פשוט לבחון אילו משתנים במודל מובהקים
Model selection
נתחיל במודל המורכב ביותר:
(, massדוגמא: מנסים להסביר גודל תטולה בודדת של מיני לטאות באמצעות נתונים על גודל גופן )(, ומספר התטולות elevation(, הגובה החציוני מעל פני הים בו הן חיות )tempטמפרטורת הסביבה שלהן )
( broodsשהן מטילות בשנה )
clu<-read.table(“eggs.txt”,header=T)
model1<-lm(clutch~mass+temp+elevation+broods, data=clu)
Estimate se t p(Intercept) 1.6098 0.4332 3.7160 0.0002 ***mass 4.0104 1.5058 2.6630 0.0079 **elevation 0.0004 0.0014 0.2450 0.8068broods -0.2317 0.0917 -2.5280 0.0117 *
ניתן פשוט לבחון אילו משתנים במודל מובהקים
Model selection
נמחק את הטמפרטורה ונחשב מחדש:
model2<-lm(clutch~mass+elevation+broods)
(, massדוגמא: מנסים להסביר גודל תטולה בודדת של מיני לטאות באמצעות נתונים על גודל גופן )(, ומספר התטולות elevation(, הגובה החציוני מעל פני הים בו הן חיות )tempטמפרטורת הסביבה שלהן )
( broodsשהן מטילות בשנה )
Estimate se t p(Intercept) 1.5688 0.3993 3.9290 0.0001 ***mass 4.3735 0.2566 17.0420 0.0000 ***broods -0.2331 0.0914 -2.5500 0.0110 *
ניתן פשוט לבחון אילו משתנים במודל מובהקים
Model selection
נמחק את מספר הגובה ונחשב מחדש:
גודל תטולה הוא פונקציה של גודל גוף ושל מספר התטולות השנתי, וזהו
model3<-lm(clutch~mass+broods)
כל המשתני
ם מובהקים, עצור!
model3 = MAM
forward addition
ניתן פשוט לבחון אילו משתנים במודל מובהקים
Model selection
אפשר להתחיל במודל הפשוט ביותר, ולהוסיף כל פעם 0.05 עבורו קטן מ-pמשתנה נוסף, ולהשאיר אותו אם ה-
)או ערך סף אחר(.model1a<-lm(clutch~mass)
model2a<- lm(clutch~mass+broods)
model3a<- lm(clutch~mass+broods+elevation)
model3aברגע שנגיע למודל שמכיל גורמים לא מובהקים ) model2aבדוגמה שלנו( נעצור ונבחר את המודל הקודם )
MAMבדוגמה שלנו( כ-
forward addition
ניתן פשוט לבחון אילו משתנים במודל מובהקים
Model selection
מתחילים במודל הפשוט ביותר, ומוסיפים כל פעם משתנה )או ערך 0.05 עבורו קטן מ-pנוסף, ולהשאיר אותו אם ה-
סף אחר(.
שימו לב: לא כל הצירופים האפשריים בין פרמטרים )והאינטראקציות backwards ולא ב-forward additionביניהם( משמשים לא ב-
elimination.כאן, ויכול להיות שהצירוף "הכי נכון" לא נבדק
מצד שני מספר המודלים האפשרי עולה בחזקה של מספר הפרמטרים בהם משתמשים, כך שבחינת כל המודלים האפשריים לא מעשית אם יש לנו הרבה מאוד פרמטרים – אלא אם כן אנו יודעים יש לנו מחשב חזק
והרבה זמן...
Akaike Information Criterion
פרמטרים: כמה המודל "טוב" 2השוואה בין מודלים על פי )רמת הדיוק בה מתוארת המציאות( לעומת כמה הוא מורכב
)כמה פרמטרים הערכנו(AIC = 2k-2ln(L)
maximum הוא ה L הוא מספר הפרמטרים ו-Kכאשר likelihood של המודל (שבלי להכנס לפירוט מיותר מבטא במקרה – ככל שהוא קטן יותר המודל residual sum of squaresהזה את ה
טוב יותר, וניתן לכתוב
] AIC = 2k+n[ln(RSS)(
Model selection
דרך חלופית לבחירת מודלים
http://en.wikipedia.org/wiki/Residual_sum_of_squares
Hirotsugu Akaike
http://en.wikipedia.org/wiki/Akaike_information_criterion
נמוך יותר המודל טוב יותרAICככל שערך ה
Akaike Information Criterion
AIC = 2k-2ln(L)
Model selection
Hirotsugu Akaike
AIC rewards descriptive accuracy via the maximum likelihood (High L), and penalizes lack of parsimony according to the number of free parameters (high K)
שימו לב שהתמיכה במודל חזקה נמוך יותר:AICיותר ככל שערך ה
פשוטה AIC השוואת מודלים לפי Rב-מאוד:
AIC(model1,model2,model3)
נחזור ללטאות
Model selection
model1<-lm(clutch~mass+temp+elevation+Broods)
model2<-lm(clutch~mass+elevation+broods)
model3<-lm(clutch~mass+broods)
AIC(model1,model2,model3)
df AIC
model1 6 4430.458
model2 5 4428.461
model3 4 4426.521
הוא הטוב 3שוב מודל AICביותר )יש לו ה-
score )הנמוך ביותר
(, massדוגמא: מנסים להסביר גודל תטולה בודדת של מיני לטאות באמצעות נתונים על גודל גופן )(, ומספר התטולות elevation(, הגובה החציוני מעל פני הים בו הן חיות )tempטמפרטורת הסביבה שלהן )
( broodsשהן מטילות בשנה )
לא מאפשר לבחון כמה טוב הוא מבחן בודד, אלא רק להשוות בין מספר מבחנים הנשענים על אותם נתונים
חסרת משמעות בפני AIC) של scoreהתוצאה ( בין מבחנים של שאלות AIC: לא ניתן להשוות עצמה
שונות או שמתבססים על נתונים שונים כמו שניתן 0.05=0.05=0.05להגיד ש
Akaike Information Criterion
שהבדלים, לומר ניתן שלא אומר האצבע כלל בנוסף- AICבערכי מ פחות לומר 2של מאפשרים אינם
יותר טוב מודל איזה
AIC(model1,model2,model3)
Akaike Information Criterion
כלל האצבע אומר שלא ניתן לומר שהבדלים בערכי AIC -אינם מאפשרים לומר איזה מודל 2של פחות מ
טוב יותר
df AIC ∆AIC
model3 4 4426.521 0
model2 5 4428.461 1.94
model1 6 4430.458 3.937
מהנמוך )הכי טוב( לגבוה, AICנסדר את המודלים על פי ערכי מהמודל עם ה AIC scoreונחשב עבור כל אחד את הפרש ה
score הנמוך ביותר – לקבלת ערך ה AIC∆ .של כל מודל כיוון 2 עדיף על מודל 3בדוגמה הזו לא ניתן לומר שמודל
.2 ביניהם קטן מ-AICשההפרש ב
AIC(model1,model2,model3)
Model selection: AIC and other animals
עבור AICאין שום סיבה, וזה לא נכון, כאמור, לחשב ערך )זה בערך כמו לומר שקבוצת כדורסל קלעה במשחק מבחן בודד
נקודות – אין לזה כל ערך כל עוד לא יודעים כמה קלעה 79מסויים היריבה(
הנמוך ביותר בהחלט עשוי להכיל גורמים שערך AICהמודל עם ה- מתירני למדי לגבי הפרמטרים שהוא AIC )0.05 שלהם גדול מ-pה-
"מרשה" לכלול(.
AIC וערכיp ,באים מפילוסופיות שונות מאוד של סטטיסטיקה ולא כדאי לערבב ביניהם*
*but see Johnson 2014. Revised standards for statistical evidence. PNAS 110: 19175-19176, who suggest the philosophies can be reconciled – and that p values <<0.05 should be used
See also a lively debate about p values and AIC in Ecology (95 #3, 2014: www.esajournals.org/toc/ecol/95/3)
.1AICc
BIC: -2*ln L + k*ln(n)
עבור מדגמים קטניםAICתיקון ל ( R http://cran.r-project.org/web/packages/AICcmodavg/AICcmodavg.pdf)חבילת
2 .AIC weights“Akaike weights are used in model averaging. They represent the relative
likelihood of a model. To calculate them, for each model first calculate the relative likelihood of the model, which is just exp)-0.5 * ∆AIC score for that model(. The Akaike weight for a model is this value divided by the sum of these values across all models.”†
† http://www.brianomeara.info/tutorials/aic
Aho et al. 2014. Model selection for ecologists: the worldviews of AIC and BIC. Ecology, 95: 631-636.
†† Wagenmakers & Farrell 2004
3. Baysian Information Criterion, BIC
למספרים AIC מ 1סובלני פחות††גדולים של פרמטרים
AICc = AIC+(2k*[k+1]/[n-k-1])
גודל המדגם לא משחקAIC מוכפל בגודל המדגם!, ב-k. שימו לב: 1
Model selection: variation on the AIC theme
זיכרו, בכל עבודה:
"No statistical procedure can substitute for serious thinking about alternative
evolutionary scenarios and their credibility"
Westoby, Leishman & Lord 1995. On misinterpreting 'phylogenetic correction. J. of Ecology 83: 531-534.