סטטיסטיקה בסיסית והסקה סטטיסטית ב-R

Slides:



Advertisements
Similar presentations
מבוא למדעי המחשב לתעשייה וניהול
Advertisements

1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
מתמטיקה בדידה תרגול 3.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
1 שונות המשתנה. המודל : הנחות 1-3 מתקיימות. הנחה 4 אינה מתקיימת - כך שלפחות עבור תצפית אחת השונות שונה מהשונות של יתר התצפיות. לפחות עבור s ו t אחד. תוצאות.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
Final Review Session.
מבחן t למדגמים בלתי תלויים
טיב פני שטח (טפ"ש) טיב פני שטח- רמת החלקות של המשטח.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
תוחלת ושונות בהתפלגויות אחרות התפלגות בינומית : X~B(n,p) E(X)=np, σ 2 (x)=np(1-p) התפלגות היפרגיאומטרית : X~H(N,n,M) E(X)=n*M/N, σ 2 (x)=n*M/N(1-M/N)[(N-n)/N-1)]
רגרסיה קו רגרסיה הוא קו תיאורטי המאפשר לנו לבחון את השפעתו של משתנה מנבא אחד (או יותר) על המשתנה התלוי: במילים אחרות, מודל רגרסיה עוזר לנו לנבא על פי משתנה.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מדדי פיזור פיזור מצביע על מידת ההטרוגניות או ההומוגניות של ההתפלגות. פיזור הוא מדד יחסי, כיוון שאפשר לומר אם הפיזור בהתפלגות רחב או צר, רק ביחס לפיזור.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Kashrut is a mitzvah in the Torah and has been passed on through generations. Kashrut is a chok. this means that we don’t know why we do it but we.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Practice session 3 תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי ) שיטות חישוב : Applicative & Normal Evaluation Partial Evaluation.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
Costs and Filters Dr. Avi Rosenfeld Department of Industrial Engineering Jerusalem College of Technology
Basic statistic inference in R
Mann-Whitney U = Wilcoxon rank sum is the non-parametric test equivalent to t-test ssd
Nonparametric Statistics
1 ניתוח שונות: Post-hoc analysis ניתוח שונות חד-כיווני עם אפקטים קבועים: Post-hoc analysis ד"ר מרינה בוגומולוב מבוסס חלקית על ההרצאות של פרופ' יואב בנימיני.
Human Wayfinding in Information Networks
Transforming the data Modified from:
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Programming Arrays.
Chapter 20 Linear and Multiple Regression
Chapter 12 Simple Linear Regression and Correlation
CHAPTER 7 Linear Correlation & Regression Methods
CHOOSING A STATISTICAL TEST
מבוא למדעי המחשב סיבוכיות.
Analysis of Data Graphics Quantitative data
آمار مقدماتی و پیشرفته مدرس: دکتر بریم نژاد دانشیار واحد کرج
Checking Regression Model Assumptions
שימוש בשיטה א-פרמטרית להשוואת תוחלות של שתי אוכלוסיות.
פקודות data לסדר את המקרים לפי סדר מסויים Sort cases.
SA3202 Statistical Methods for Social Sciences
STAT120C: Final Review.
השוואת נתונים למודל הסתברותי - כללית
Mediation and Moderation
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
Nonparametric Statistics
Introduction to Statistics
Checking Regression Model Assumptions
בדיקת השערות על השוואת שני סטטיסטים
Marina Kogan Sadetsky –
השערות מחקר והשערות המבחן הסטטיסטי
מבחן t למדגם יחיד.
Chapter 12 Simple Linear Regression and Correlation
SAME THING?.
תוכנה 1 תרגול 13 – סיכום.
Computer Architecture and Assembly Language
Non – Parametric Test Dr. Anshul Singh Thapa.
15.1 The Role of Statistics in the Research Process
Estimating the Variance of the Error Terms
Nazmus Saquib, PhD Head of Research Sulaiman AlRajhi Colleges
Introductory Statistics
Correlation and Simple Linear Regression
Presentation transcript:

סטטיסטיקה בסיסית והסקה סטטיסטית ב-R

Everything differs!!! "צפויים להימצא הבדלים בין x ל-y" היא אמירה טריוויאלית הסטטיסטיקאי שבכם שואל "האם ההבדלים שנמצאו גדולים מהצפוי באקראי" הביולוג שבכם שואל "למה ההבדלים הם לכיוון ובדרגה שמצאתי"

מדדים לנטייה מרכזית* ממוצע חשבוני, גיאומטרי, הרמוני Arithmetic mean: Σxi/n Geometric mean: (x1*x2*…*xn)1/n Harmonic mean: * = Moments of central tendency

מדדים לנטייה מרכזית ב-R Arithmetic mean: Σxi/n 1. ממוצע חשבוני דוגמא: הפונקציה “mean” data<-c(2,3,4,5,6,7,8) mean(data) [1] 5 2. ממוצע גיאומטרי Geometric mean: (x1*x2*…*xn)1/n ניתן גם לעבוד מהקובץ: דוגמא: dat<-read.csv("island_type_final2.csv") Attach(dat) mean(lat) [1] 17.40439 data<-c(2,3,4,5,6,7,8) exp(mean(log(data))) [1] 4.549163

מדדים לנטייה מרכזית* א. ממוצע (mean) ב. חציון (median) ג. שכיח (mode) * = Moments of central tendency דוגמא: דוגמא מהקובץ: data<-c(2,3,4,5,6,7,8) median(data) [1] 5 median(mass) [1] 0.69

מדדים לנטייה מרכזית ממוצע שונות* 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 דוגמא: *Variance = Σ(xi-μ)2 / n

המומנט השני של נטייה מרכזית הוא מדד לפיזור הנתונים מסביב למומנט הראשון מדדים לנטייה מרכזית ממוצע שונות המומנט השני של נטייה מרכזית הוא מדד לפיזור הנתונים מסביב למומנט הראשון דוגמאות למומנט השני הן, למשל, השונות, סטיית התקן, שגיאת התקן, ה-coefficient of variation, ורווח הסמך (של 90, 95, 99% או מה שלא יהיה).

מדדים לנטייה מרכזית גודל מדגם: שונות: סטיית תקן: שגיאת תקן: #for: data<-c(2,3,4,5,6,7,8) גודל מדגם: שונות: סטיית תקן: שגיאת תקן: coefficient of variation: length(data) var(data) sd(data) se<-(sd(data)/length(data)^0.5) se [1] 0.8164966 CV<-sd(data)/mean(data) CV [1] 0.4320494

מדדים לנטייה מרכזית ממוצע שונות הטייה (Skew) התפלגות שכיחויות מוטה אינה סימטרית! האם בהתפלגות שכיחויות מוטה הממוצע החשבוני הוא מדד טוב לנטייה מרכזית? מהו השכר הממוצע של כל הסטודנטים פה ושל ביל גייטס?

מדדים לנטייה מרכזית הטייה (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)) שגיאת תקן של הטיה:

מדדים לנטייה מרכזית ממוצע שונות הטייה (Skew) קורטוזיס (Kurtosis)

מדדים לנטייה מרכזית קורטוזיס (Kurtosis) שגיאת תקן של קורטוזיס: 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 וקורטוסיס יש שונות משלהם – ואפס צריך להיות מחוץ לרווח הסמך שלהם כדי שהם יהיו שונים במובהק מאפס

Residuals כשאנחנו עושים סטטיסטיקה אנחנו יוצרים מודלים של המציאות אחד המודלים הפשוטים ביותר הוא הממוצע: הגובה הממוצע של אזרחי ישראל הוא (נגיד) 173 ס"מ השכר הממוצע הוא 9271 ₪ (למ"ס, נתוני אפריל 2014) והשירות הצבאי הממוצע הוא (אולי) 24 חודשים 46,699 ₪ בחודש (הערכת חסר, ללא הטבות) 2.06 מטר דוב ליאור שירת בצה"ל חודש אחד http://www.haaretz.co.il/1.2057452

Residuals כשאנחנו עושים סטטיסטיקה אנחנו יוצרים מודלים של המציאות כך שכאן, המודלים שלנו: 173 ס"מ, 9271 ₪, 24 חודשים, אינם מוצלחים במיוחד ה-Residual הוא הכמות בה ערך מסויים רחוק מהניבוי של המודל. כך שליאור אליהו רחוק 32 ס"מ מהמודל "ישראלי = 173", ורחוק 29 ס"מ מהמודל המורכב יותר "גבר ישראלי = 177, אישה ישראלית = 168". Residual = ₪ 37428 Residual = -23 month IDF service Residual = 33 cm

Residuals כשאנחנו עושים סטטיסטיקה אנחנו יוצרים מודלים של המציאות dat<-read.csv("island_type_final2.csv") model<-lm(mass~iso+area+age+lat, data=dat) out<-model$residuals out write.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) Residual = ₪ 37428 Residual = 33 cm Residual = -23 month service

סטטיסטיקה תיאורית והסקה סטטיסטית כשיש לנו נתונים בשלב הראשון כדאי שנתאר אותם: נצייר גרפים, נחשב ממוצע וכדומה בהסקה סטטיסטית אנו בוחנים את התנהגותם של הנתונים שלנו אל מול השערה (היפותזה) מסויימת את ההשערה שלנו אנו יכולים להציג כמודל סטטיסטי למשל: התפלגות גבהים היא נורמאלית מספר המינים הולך ועולה עם העליה בשטח מספר המינים הולך ועולה עם העליה בשטח על פי power function שלו מעריך חזקה השווה ל-0.25

התפלגות שכיחויות* מבטאת את כל מרחב התצפיות כמה תצפיות יש בכל קטגוריה (bin) dat<-read.csv("island_type_final2.csv") attach(dat) names(dat) Hist(mass) מבטאת את כל מרחב התצפיות * = frequency distribution, in graphic form = “histogram”

התפלגות שכיחויות מה למדנו? dat<-read.csv("island_type_final2.csv") attach(dat) Hist(mass) אין מסות קטנות מעשירית הגרם או גדולות מ-100 ק"ג. לטאות במסות של 1-10 גרם נפוצות – גדולות יותר או קטנות יותר נדירות ההתפלגות היא חד שיאית, ומוטה לימין

התפלגות שכיחויות לא חייבת להיות כל כך מכוערת 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)

הצגת משתנה קטגורי לעומת משתנה רציף אחר dat<-read.csv("island_type_final2.csv") attach(dat) plot(type,brood) תמיד העדיפו Box & Whiskers plot על bar 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 שלנו הוא ספירות נשתמש לרוב במחני 2χאו G (=log-likelihood). לרוב ה-response variable שלנו יהיה רציף (14 מינים, 78 פרטים, 87.5מ"מ, 54 פעימות לדקה, 7.3 ביצים, 23 מעלות).

איזה מבחן נבחר? מהו ה-response variable ? רציף (14 מינים, 78 פרטים, 87.5מ"מ, 54 חודשים, 7.3 ביצים, 23 מעלות) ספירות (שכיחויות: 6 זכרים, 9 נקבות) "הצלחה" או "כישלון" (מצא את הגבינה\אידיוט) חי-בריבוע או G (=log-likelihood) מבחן בינומי (binomial) עוד מעט...

Binomial test in R יש להגדיר את מספר ההצלחות מתוך גודל המדגם הכולל. דוגמה 1: 19 מתוך 34 (לא מובהק). דוגמה 2: 19 מתוך 20 (מובהק) binom.test(19,34) Exact binomial test data: 19 and 34 number of successes = 19, number of trials = 34 p-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

Chi-square test in R chisq.test Data: lizard insularity & diet: chisq.test habitat diet species# island carnivore 488 herbivore 43 omnivore 177 mainland 1901 101 269 M<-as.table(rbind(c(1901,101,269),c(488,43,177))) chisq.test(M) data: M χ2 = 80.04, df = 2, p-value < 2.2e-16

Chi-square test in R chisq.test χ2 = 17.568, df = 4, p-value = 0.0015 והפעם עם בסיס הנתונים שלנו: chisq.test dat<-read.csv("island_type_final2.csv") install.packages("reshape") Library(reshape) cast(dat, type ~ what, length) type anoles else gecko Continental 7 45 Land_bridge 1 30 14 Oceanic 23 110 44 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

איזה מבחן נבחר? אם ה response variable שלנו הוא רציף נבחר מבחן לפי טבע ה-predictor variables אם ה-predictor variable בדיד (אתר א', אתר ב', אתר ג'; זכר\נקבה; מין א', מין ב, מין ג'; שטח עירוני\שטח טבעי; טיפול א', טיפול ב', ביקורת) המבחן יהיה ANOVA (analysis of variance) אם ה predictor variable רציף (מעלות צלסיוס, כמות מזון, קו רוחב, כמות משקעים, מספר מתחרים, אחוז כיסוי) המבחן יהיה רגרסיה

t-test in R t.test(x,y) dimorphism<-read.csv("ssd.csv",header=T) Sex size female 79.7 male 85 120 133.0 118 126.0 105.8 112 106 121.0 95 111.0 86 93.0 65 75.0 230 240.0 t.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) Estimate standard error t p value (Intercept) Sex size female 79.7 male 85 120 133.0 118 126.0 105.8 112 106 121.0 95 111.0 86 93.0 65 75.0 230 240.0 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 *

Paired t-test in R t.test(x,y,paired=TRUE) female male 88.17 92.10 Species size Sex Xenagama_zonura 79.7 female 85 male Xenosaurus_grandis 120 133.0 Xenosaurus_newmanorum 118 126.0 Xenosaurus_penai 105.8 112 Xenosaurus_platyceps 106 121.0 Xenosaurus_rectocollaris 95 111.0 Zonosaurus_anelanelany 86 93.0 Zootoca_vivipara 65 75.0 Zygaspis_nigra 230 240.0 Zygaspis_quadrifrons 195 227.0 t.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 female male 88.17 92.10 tapply(size,Sex,mean)

ANOVA in R aov model<-aov(x~y) Df Sum sq Mean sq F value Pr(>F) species type clutch Trachylepis_sechellensis Continental 0.6 Trachylepis_wrightii 0.65 Tropidoscincus_boreus 0.4 Tropidoscincus_variabilis 0.45 Urocotyledon_inexpectata 0.3 Varanus_beccarii 0.58 Algyroides_fitzingeri Land_bridge Anolis_wattsi Archaeolacerta_bedriagae Cnemaspis_affinis Cnemaspis_limi 0.18 Cnemaspis_monachorum Amblyrhynchus_cristatus Oceanic 0.35 Ameiva_erythrocephala Ameiva_fuscata Ameiva_plei 0.41 Anolis_acutus Anolis_aeneus Anolis_agassizi Anolis_bimaculatus Anolis_bonairensis ANOVA in R aov model<-aov(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“ model<-aov(clutch~type,data=island) summary(model) 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

מבחן post-hoc ל-ANOVA ב-R TukeyHSD(model) Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = clutch ~ type, data = island) $type   diff lwr upr p adj Land_bridge-Continental 0.124 -0.0025 0.2505 0.0561 Oceanic-Continental 0.0218 -0.0671 0.1108 0.8318 Oceanic-Land_bridge -0.102 -0.2206 0.0163 0.1066 ההבדלים אינם מובהקים (שימו לב שאפס תמיד ברווח הסמך. ההבדל בין איי מדף יבשת לאיי פלטות טקטוניות קרוב למובהקות, p = 0.056)

correlation in R cor.test(x,y) המשתנה “cor” הוא מקדם הקורלציה r mass 5 1.21 0.83 4 1.84 18 1.39 0.42 0.29 20 0.45 1.54 0.36 0.27 0.04 0.01 21 0.95 0.51 22 0.74 0.92 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“ 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 המשתנה “cor” הוא מקדם הקורלציה r

אותם נתונים כמו בדוגמה הקודמת 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 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 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

aov לעומת lm אולי במפתיע אפשר לבחון נתונים המתאימים ל-ANOVA גם במבחן lm. במקרה כזה נקבל את כל המידע שנותן ה-summary של lm במבחן רגרסיה, כולל (חשוב!) parameter estimates, שגיאות תקן, הבדלים בין פקטורים וערכי-p לכל קונטרסט (בין 2 קטגוריות של המשתנה המסביר הקטגוריאלי)

aov לעומת lm טבלת aov טבלת lm עוד בהמשך אולי במפתיע אפשר לבחון נתונים המתאימים ל-ANOVA גם במבחן lm. במקרה כזה נקבל את כל המידע שנותן ה-summary של lm במבחן רגרסיה, כולל (חשוב!) parameter estimates, שגיאות תקן, הבדלים בין פקטורים וערכי-p לכל קונטרסט (בין 2 קטגוריות של המשתנה המסביר הקטגוריאלי) 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 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 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 עוד בהמשך

הנחותיהם של מבחנים סטטיסטיים (כל המבחנים הסטטיסטיים) A non-random, non-independent sample of Israeli people מדגם אקראי (הנחה של כל מבחן – לא רק פרמטרי) אי תלות (מרחבית, בזמן, פילוגנטית וכו')

Richard Smith & 3 friends הנחותיהם של מבחנים פרמטריים א. ANOVA בנוסף להנחות של כל מבחן שיוויון שוניות (Homoscedasticity) התפלגות נורמלית של ה-residuals "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 קריאה: Sokal & Rohlf 1995. Biometry. 3rd edition. Pages 392-409 (especially 406-407 for normality)

Always look at your data Don’t just rely on the statistics! 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) Anscombe 1973. Graphs in statistical analysis. The American Statistician 27: 17–21. Briggs Henan University 2010

הנחותיהם של מבחנים פרמטריים ב: רגרסיה שוויון שונויות (Homoscedasticity) Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.

הנחותיהם של מבחנים פרמטריים ב: רגרסיה שוויון שונויות (Homoscedasticity) המשתנה המסביר (explanatory variable) נמדד ללא שגיאה Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.

הנחותיהם של מבחנים פרמטריים ב: רגרסיה שוויון שונויות (Homoscedasticity) התפלגות נורמלית של ה residuals עבור כל ערך של המשתנה המסביר התפלגות נורמלית של ה-residuals עבור כל ערך של המשתנה המסביר Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.

הנחותיהם של מבחנים פרמטריים ב: רגרסיה שוויון שונויות (Homoscedasticity) המשתנה המסביר (explanatory variable) נמדד ללא שגיאה התפלגות נורמלית של ה residuals עבור כל ערך של המשתנה המסביר שוויון שונויות עבור כל ערך של המשתנה המסביר Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.

הנחותיהם של מבחנים פרמטריים ב: רגרסיה שוויון שונויות (Homoscedasticity) המשתנה המסביר (explanatory variable) נמדד ללא שגיאה התפלגות נורמלית של ה residuals עבור כל ערך של המשתנה המסביר שוויון שונויות עבור כל ערך של המשתנה המסביר יחס לינארי בין המשתנה המסביר למשתנה המגיב Smith, R. J. 2009. Use and misuse of the reduced major axis for line-fitting. American Journal of Physical Anthropology 140: 476-486.

איך נבדוק אם המודל מתנהג לפי ההנחות? ל-R יש model diagnostic functions שימושיות למדי שמאפשרות לנו להעריך (באופן גרפי, איכותי) עד כמה הנחות מודלים (בדגש על רגרסיה) מתקיימות https://www.youtube.com/watch?v=eTZ4VUZHzxw ראו גם: http://stat.ethz.ch/R-manual/R-patched/library/stats/html/plot.lm.html

מה עושים אם הנתונים לא מתנהגים לפי ההנחות? מתעלמים ומקווים שהמבחן רובוסטי להפרה של הנחותיו: זה לא תמיד בלתי סביר כמו שזה נשמע משתמשים במבחנים א-פרמטריים משתמשים ב-generalized linear models (או בקיצור glm) בגדול זה אומר: טרנספורמציות (ב-glm זה אומר שינוי link functions) שינוי ב-error distribution (ב-glm) להתפלגויות לא נורמאליות משתמשים במבחן לא לינארי משתמשים ברנדומיזציות (ראו בהרצאות של רועי הולצמן)

מבחנים א-פרמטריים מבחנים א-פרמטריים לא מניחים שוויון שונויות או התפלגות נורמלית. הם מבוססים על 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 מבחן Spearman ומבחן Kendall’s-tau מחליפים מבחן קורלציה

מבחנים א-פרמטריים ב-R קולמוגורוב-סמירנוב הוא מבחן א-פרטרי להשוואת שתי התפלגויות שכיחויות (או השוואת התפלגות "שלנו" להתפלגות ידועה – דוגמת הנורמלית) Orycteropus afer למצולם אין קשר להרצאה צריך להגדיר ל-R את ה-grouping variable ואת ה-response: נאמר שאנו רוצים להשוות בין התפלגויות השכיחויות של מסת הגוף של לטאות באיי מדף יבשת ואיים אוקייניים: 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) 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 האם יש הבדל בגודל הגוף (SVL) בין זכרים ונקבות של לטאות (Lacertidae)? ssd<-read.table("dimorphism.txt",header=T) attach(ssd) names(ssd) [1] "binomial" "sex" "svl" male<-svl[sex=="male"] female<-svl[sex=="female"] wilcox.test(male,female,paired=FALSE) Wilcoxon rank sum test with continuity correction data: male and female W = 15396, p-value = 0.1493 alternative hypothesis: true location shift is not equal to 0

מבחנים א-פרמטריים ב-R Wilcoxon two-sample (=Wilcoxon signed-rank) test מחליף מבחן paired-t האם יש הבדל בגודל הגוף (SVL) בין זכרים ונקבות של לטאות (Lacertidae) כאשר משווים בין הזוויגים של אותו מין? ssd<-read.table("dimorphism.txt",header=T) attach(ssd) names(ssd) [1] "binomial" "sex" "svl" male<-svl[sex=="male"] female<-svl[sex=="female"] wilcox.test(male,female,paired=TRUE) Wilcoxon rank sum test with continuity correction data: male and female V = 8822.5, p-value = 1.773e-06 alternative hypothesis: true location shift is not equal to 0

מבחנים א-פרמטריים ב-R Wilcoxon two-sample (=Wilcoxon signed-rank) test מחליף מבחן paired-t האם יש הבדל בגודל הגוף (SVL) בין זכרים ונקבות של לטאות (Lacertidae) כאשר משווים בין הזוויגים של אותו מין? names(ssd) [1] "binomial" "sex" "svl" wilcox.test(male,female,paired=TRUE) אבל יש כאן בעיה: אנחנו רוצים שהמבחן יהיה מזווג לפי המין (binomial) – אבל בשום מקום לא הגדרנו זאת! Wilcoxon rank sum test with continuity correction data: male and female V = 8822.5, p-value = 1.773e-06 alternative hypothesis: true location shift is not equal to 0

[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) [1] "binomial" "female" "male" שימו לב לשינוי מהשמות הקודמים!

[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 correction data: sex$female and sex$male V = 3423.5, p-value = 1.773e-06

[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" t.test(sex$female,sex$male,paired = T) נ.ב. זו גם הדרך לערוך מבחןt מזווג:

מבחנים א-פרמטריים ב-R Kruskal-Wallis מחליף מבחן one-way ANOVA הקוד למבחן זה דומה מאוד לקוד של מבחן ANOVA אותו הוא מחליף, רק שבמקום aov נכתוב kruskal.test island<-read.csv("island_type_final2.csv",header=T) Attach(island) kruskal.test(clutch~type) Kruskal-Wallis rank sum test data: clutch by type Kruskal-Wallis chi-squared = 7.1639, df = 2, p-value = 0.02782

מבחנים א-פרמטריים ב-R cor.test(clutch, mass, method="spearman") #or מבחן Spearman ומבחן Kendall’s-tau מחליפים מבחן קורלציה למעשה הקוד פה הוא וריאציה על הקוד הרגיל למבחן קורלציה, על ידי הוספת ההגדרה למבחן הא-פרמטרי הרלוונטי בפרמטר “method” נכתוב במקום לכתוב: cor.test(clutch, mass) cor.test(clutch, mass, method="spearman") #or cor.test(clutch, mass, method="kendall") ונקבל בהתאמה: 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) משמשים ב-GLM כשה response variable אינו רציף (ספירות, פרופורציות, בינארי וכו') - או כשהנחות המבחנים הפרמטרים (התפלגות נורמלית, שיוויון שונויות) אינן מתקיימות GLM מורכב שלושה חלקים: 1. linear predictor; 2. link function; 3. error distribution הראשון הוא ערך הפרמטר, השני מדבר על טרנספורמציה (למשל הוא “identity” כשאין טרנספורמציה ו-“log” עבור טרנספורמציה לוגריתמית) והשלישי אומר מה התפלגות ה residuals – למשל גאמא, פואסון או נורמלית. במקרה הפרטי בו link=identity ו-error=normal ה GLM זהה למודל לינארי "רגיל"

Generalized linear models (GLM) מורכב שלושה חלקים: 1. linear predictor; 2. link function; 3. error distribution הראשון הוא ערך הפרמטר, השני מדבר על טרנספורמציה (למשל הוא “identity” כשאין טרנספורמציה ו “log” עבור טרנספורמציה לוגריתמית) והשלישי אומר מה התפלגות ה-residuals – למשל גאמא, פואסון או נורמלית. במקרה הפרטי בו link=identity ו-error=normal ה-GLM זהה למודל לינארי "רגיל" modelX<-glm(clutch~log10(age)+asin(lat),family=Gamma) Log link arcsin link Gamma errors

Non-linear models לעיתים ברור שהיחס בין ה predictor ל response אינו לינארי. model2<-lm(y~x+I(x^2)) ניתן לבחון מודלים שיודעים להתמודד עם מבנה כזה – למשל לעיתים קרובות משלבים משוואה ריבועית (quadratic) במודל: Response = a(predictor)2+b(predictor)+c וכרגיל אפשר לבדוק אם המודל הקוואדרטי טוב מהמודל הלינארי על ידי AIC או על ידי anova (ראו "בחירת מודלים" בהמשך)

Non-linear models לעיתים ברור שהיחס בין ה predictor ל response אינו לינארי. ניתן לבחון מודלים (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.

Multiple predictors מה לעשות, החיים מסובכים. לפעמים מה שמעניין אותנו מושפע מיותר מגורם אחד! קצב ליבם של זוחלים, למשל, מושפע גם מגודל גופם וגם מטמפרטורת הסביבה, וגם מהזמן והמהירות בהם נעו לאחרונה ניתן להסביר אם כן את המשתנה המעניין (קצב לב) אם יש לנו מידע על כל המשתנים המסבירים. ההנחה היא שכאשר אנו מכניסים את שלושתם למשוואה אנו רואים את השפעתו של כל אחד כאשר שני האחרים "מוחזקים קבועים" (held constant) Smith, R. J. 1999. Statistics of sexual size dimorphism. Journal of Human Evolution 36: 423-459.

הנחה זו נכונה כאשר אין מתאם (גבוה) בין המשתנים המסבירים לבין עצמם Multiple predictors ניתן להסביר אם כן את המשתנה המעניין (קצב לב) אם יש לנו מידע על כל המשתנים המסבירים. ההנחה היא שכאשר אנו מכניסים את שלושתם למשוואה אנו רואים את השפעתו של כל אחד כאשר שני האחרים "מוחזקים קבועים" (held constant) הנחה זו נכונה כאשר אין מתאם (גבוה) בין המשתנים המסבירים לבין עצמם Smith, R. J. 1999. Statistics of sexual size dimorphism. Journal of Human Evolution 36: 423-459.

איזה מבחן נבחר? אם יש כמה predictor variables (נאמר ארבעה) וכולם קטגוריאלים המבחן יהיה ANOVA (נאמר 4-way ANOVA) אם יש כמה predictor variables (נאמר שבעה) וכולם רציפים המבחן יהיה Multiple Regression

איך כותבים מבחן עם כמה משתנים מסבירים? lm(y~a+b+c) משתמשים בפלוס (+) בין המשתנים המסבירים. למשל במודל שמנסה לחזות ציוני קורסים לפי כמה למדנו, גיל המרצה, כמה התפללנו והאם יש שחזורים: model<-lm(Grade~days_studied+professor_age+prayer_number+reconstruction, data=marks) summary(model)

(analysis of co-variance) איזה מבחן נבחר? אם יש כמה predictor variables (לפחות 2) – חלקם (לפחות 1) בדידים וחלקם (לפחות 1) רציפים המבחן יהיה ANCOVA (analysis of co-variance)

שני הגורמים מובהקים: יש הבדל בין השיניים ובין הזוויגים איך זה נראה גרפית? דוגמא: מדדתי אורך שלוש שיניים בשועלים מצויים, זכרים ונקבות, מכל תחום תפוצתם Vulpes vulpes ANOVA p F MS DF SS 0.00 417468.9 304435.2 1 Intercept 142.3 103.8 sex 20704.9 15098.9 2 30197.7 tooth 0.7 2276 1659.8 Error שני הגורמים מובהקים: יש הבדל בין השיניים ובין הזוויגים Regression ANCOVA ניב ניב עליון שן שסע תחתונה שן שסע תחתונה שן שסע עליונה שן שסע עליונה

איך זה נראה גרפית? דוגמא: אורך שלוש שיניים בשועלים מצויים, כפונקציה של קו הרוחב P t Std. Error Estimate   > 0.0001 25.25 0.378 9.554 Intercept 5.73 0.008 0.044 Latitude R-squared: 0.015, F = 32.83, 1 & 2161 DF; p < 0.0001 ANOVA Regression ANCOVA יש כלל ברגמן אבל קל לראות שהמודל* זוועתי: ניבים קטנים יותר משיני שסע *קו הרגרסיה הוא מודל ליחס בין ה-predictor ל-response

ANCOVA גרפית קל להבין את זה גרפית: בדוגמה משתנה בדיד אחד עם 2 רמות (מקווקו ומלא), ומשתנה רציף אחד (לאורך ציר ה X) response b. Continuous predictor בדיד מובהק רציף לא Null hypothesis a. response Continuous predictor Continuous predictor c. response רציף מובהק, בדיד לא d. response Continuous predictor שניהם מובהקים ותודה לדניאל על הגרפים

איך זה נראה גרפית? ANOVA Regression ANCOVA דוגמא: אורך שיניים בשועלים מצויים, כפונקציה של קו הרוחב (ציר ה-X) הזוויג (צבע) ובאיזו שן מדובר (צורה) p F MS SS Df factor > 0.0001 191.7 99 1 sex 27758.79 14332.7 28665.3 2 tooth 844.69 436.1 Latitude   0.5 1114.2 2158 Residuals ANOVA Regression ANCOVA כל הגורמים מובהקים המודל הזה מסביר 96.3% מהשונות העברנו פה שישה קווי רגרסיה מקבילים

כך שהאורך של שן P בזכרים בתל אביב (קו רוחב 32) על פי המודל הוא: קריאת תוצאות מודל ANCOVA ב-R 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 t Std. Error Estimate factor >0.0001 55.92 0.078 4.342 Intercept (tooth c) 224.21 0.038 8.485 tooth_m 174.84 6.617 tooth_p 12.56 0.031 0.391 sex_male 29.06 0.001 0.043 Latitude Tooth / sex Latitude כך שהאורך של שן P בזכרים בתל אביב (קו רוחב 32) על פי המודל הוא: 12.726 = 4.342+6.617+0.391+32*0.043

איך קוראים תוצאות של lm ב-R כשהמשתנה המסביר קטגוריאלי, R משווה את כל הפקטורים ל-intercept של הפקטור הראשון בסדר אלפביתי island<-read.csv("island_type_final2.csv",header=T) levels(type) [1] "Continental" "Land_bridge" "Oceanic" model<-lm(clutch~type, data=island) summary(model) 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 *לאחר המרה לוגריתמית, אף אחד לא מטיל שליש ביצה כאן המשתנה המסביר הוא סוג האי ואלפביתית הקטגוריה הראשונה היא "Continental" ההבדל בין continental ל-Land Bridge (t = 2.309) מובהק (p = 0.021). כך שגודל התטולה* הממוצע באיי פלטות טקטוניות הוא 0.33, ובאיי מדף יבשת הוא 0.33149+0.12399 = 0.45548.

איך קוראים תוצאות של lm ב-R כשהמשתנה המסביר רציף, R מדווח עבורו את השיפוע עם שגיאת התקן שלו וערכי ה-p וה-t שלו 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.92196 lat 0.005854 0.001796 3.259 0.00125 ** כאן המשתנים המסבירים (את גודל התטולה) הם שטח האי וקו הרוחב שלו ההשפעה של קו הרוחב מובהקת (t = 3.259, p=0.00126) כך שגודל התטולה עולה ב-0.0059 (היחידות הן לוג ביצים) בכל עליה של מעלה, ויורד ב-0.0016 יחידות עם העליה בשטח (אך הירידה הזו אינה מובהקת: t = 0.098, p = 0.92)

איך קוראים תוצאות של lm ב-R כשהמשתנה המסביר רציף, R מדווח עבורו את השיפוע עם שגיאת התקן שלו וערכי ה-p וה-t שלו 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.92196 lat 0.005854 0.001796 3.259 0.00125 ** כך שלוג גודל התטולה הממוצע של לטאה ב-New Caledonia (קו רוחב 21, לוג שטח 4.27 קמ"ר, לרגע נתעלם מזה שהיחס לשטח לא מובהק) יהיה: Intercept+slope*area+slope*latitude 0.261-0.0016(slope)*4.27(area)+0.00585(slope)*21latitude = 0.377 או 2.38 ביצים (10 בחזקת 0.377)

איך קוראים תוצאות של lm ב-R ב-ANCOVA כשיש גם המשתנים מסבירים רציפים וגם קטגוריאלים, R מדווח intercept לאחרונים ושיפוע לראשונים, עם שגיאות התקן שלהם וערכי ה-p וה-t המתאימים 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).

איך קוראים תוצאות של lm ב-R ANCOVA: גם משתנים מסבירים רציפים וגם קטגוריאלים 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 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 אלה ערכי R2, דרגות חופש, F וכו' של המודל בכללותו. שימו לב ש-R התעלם מתאים ריקים

איך קוראים תוצאות של lm ב-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 כיוון שאלפביתית continental<Land_bridge<Oceanic החיתוך (intercept) שלנו הוא עבור הקטגוריה הראשונה: מיני continental. כך שמספר התטולות השנתי של מיני continental גדול משל מיני מדף יבשת וגדול בצורה לא מובהקת משל מיני איים אוקיניים (שימו לב: הבדל שלילי!). בנוסף מספר התטולות יורד עם המסה ועם העליה בקו הרוחב (שיפוע שלילי: יותר תטולות ללטאות קטנות, באיזורים טרופיים).

relevel 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 מחשב רק את ההבדל בין כל גורם לגורם הראשון באלפבית. כאן בין מיני איי פלטות טקטוניות יבשת למיני איי מדף יבשת ואיים אוקייניים. אבל הוא לא מחשב ולא מדווח על ההבדלים בין איים אוקייניים לאיי מדף יבשת. וחוץ מזה, הוא לא נותן לנו עבור שתי קטגוריות אלה שגיאות תקן והבדלים מאפס, אלא רק הבדלים מאיי פלטות טקטוניות ושגיאת תקן של המבחן הזה (לא את שגיאת התקן של המשתנה עצמו במודל).

relevel (2) model4<-lm(brood~mass+lat+type,data=island) summary(model4) אפשר להתחכם: להגדיר ל-R מי יהיה הגורם הראשון, אליו הוא ישווה את האחרים, על ידי הפקודה relevel: 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)

relevel (3) אפשר להתחכם: להגדיר ל-R מי יהיה הגורם הראשון, אליו הוא ישווה את האחרים, על ידי הפקודה relevel: 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 . שימו לב שהפרמטרים של המודל הכללי נשארו זהים: 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

בחירת המבחן המתאים Predictor Response test In R Categorical אם הנחותיהם של מבחנים פרמטריים (שונות דומה, התפלגות נורמלית של ה-residuals) מתקיימות: Predictor Response test In R Categorical Success/failure Binomial** binom.test Counts Chi-square/G chisq.test continuous ANOVA* aov Regression/correlation lm Categorical/counts Chi-square/ANOVA Categorical, multiple predictors Multi-way ANOVA continuous, multiple predictors Multiple regression Both categorical & continuous predictors ANCOVA *t-test if there are only 2 categories ** or logistic regression: https://www.youtube.com/watch?v=EocjYP5h0cE

אינטראקציות קל להבין את זה גרפית: בדוגמה משתנה בדיד אחד עם 2 רמות (מקווקו ומלא), ומשתנה רציף אחד (לאורך ציר ה X) Null hypothesis a. response Continuous predictor Continuous predictor response c. בדיד מובהק רציף לא e. response Continuous predictor רציף מובהק בדיד לא, יש אינטראקציה d. response Continuous predictor שניהם מובהקים, יש אינטראקציה b. response Continuous predictor שניהם מובהקים, אין אינטראקציה f. response Continuous predictor רציף מובהק בדיד לא, אין אינטראקציה

אינטראקציות ב-R lm(y~a*b) lm(y~a+b+c+a:b) משתמשים בפלוס (+) בין המשתנים המסבירים. עבור אינטראקציה משתמשים בנקודותיים. אם רוצים לבחון גם main effect וגם אינטראקציה משתמשים בכוכבית למשל למשל במודל שמנסה לחזות ציוני קורסים לפי כמה למדנו, גיל המרצה, כמה התפללנו והאם יש שחזורים: model<-lm(Grade~days_studied+professor_age+prayer_number*reconstruction_exist+professor_age:prayer_number, data=grades) כאן ביקשנו גם שתי אינטראקציות: בין תפילות לשחזורים וגיל לתפילה

אל תכניסו משתנים מנבאים המצויים במתאם גבוה בינם לבין עצמם! חשוב: הנחת היסוד של מבחנים מרובי predictors היא שאין מתאם בין predictors שונים מתאם גבוה בין זוג predictor variables קרוי גם multi-co-linearity, ולעיתים מבוטא על ידי tolerance (1-R2) או על ידי הרציפרוקלי שלו Variance Inflation Factors (VIF = 1/tolerance) אם multicollinearity חזק קיים אזי המודל לא יהיה יציב, והערכת הפרמטרים עשויה להיות לא נכונה אל תכניסו משתנים מנבאים המצויים במתאם גבוה בינם לבין עצמם!

ה-R2 שלנו יעלה מ 0.45 ל 0.45007 – זה שווה לנו? Model selection תמיד, תמיד, תמיד, ככל שנוסיף יותר predictor variables נסביר יותר מהשונות היחס יהיה מונוטוני – וטריוויאלי: במקרה הרע ביותר ה-Parameter estimate של משתנים נוספים יהיו אפס (למשל מספר מינים = 87+22.5*קו הרוחב + 0*מספר המנדטים של המפלגות הדתיות באותו אזור) אבל ה-parameter estimate לא יהיה אף פעם בדיוק אפס – הוא פשוט יהיה נמוך מאוד – נאמר נוסף מין על כל 5120 מנדטים שנוספים לש"ס, או נגרע מין על כל 974 מנדטים הנוספים לבית היהודי ה-R2 שלנו יעלה מ 0.45 ל 0.45007 – זה שווה לנו?

אבל, מהי יכולת הניבוי של המודל הזה לנתון הבא??? Model selection למעשה בכל שאלה סטטיסטית אפשר להסביר 100% מהשונות באמצעות מספר משתנים השווה למספר התצפיות רוצים דוגמא? מה הגובה שלכם? אבל, מהי יכולת הניבוי של המודל הזה לנתון הבא??? http://en.wikipedia.org/wiki/Overfitting

Model selection על תער אוקאם שמעתם? ככל שנוסיף יותר predictor variables נסביר יותר מהשונות המטרה שלנו כמדענים היא להסביר את מקסימום התופעות בעזרת מינימום משתנים על תער אוקאם שמעתם? כך שאם יש לנו משתנים מסבירים רבים מאוד נרצה לדעת אילו מהם מוסיפים כל כך מעט שונות מוסברת, שלא שווה לסבך בגללם את החיים

Backwards (stepwise) elimination Model selection ניתן פשוט לבחון אילו משתנים במודל מובהקים Backwards (stepwise) elimination 1. על פי ערכי p נתחיל במודל המורכב ביותר, ולמחוק כל פעם את המשתנה (או האינטראקציה) שלו מיוחס ה-p הגבוה ביותר – עד שכל ערכי ה p קטנים מ 0.05 (או ערך סף אחר). המודל איתו נשארנו ייקרא MAM = minimum adequate model דוגמא: מנסים להסביר גודל תטולה בודדת של מינים שונים של לטאות (response variable: clutch) באמצעות נתונים על גודל גופן (mass), טמפרטורת הסביבה שלהן (temp), הגובה החציוני מעל פני הים בו הן חיות (elevation), ומספר התטולות שהן מטילות בשנה (broods).

Model selection ניתן פשוט לבחון אילו משתנים במודל מובהקים נתחיל במודל המורכב ביותר: clu<-read.table(“eggs.txt”,header=T) model1<-lm(clutch~mass+temp+elevation+broods, data=clu) 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.956 elevation 0.000 0.001 0.240 0.810 broods -0.234 0.098 -2.378 0.018 דוגמא: מנסים להסביר גודל תטולה בודדת של מיני לטאות באמצעות נתונים על גודל גופן (mass), טמפרטורת הסביבה שלהן (temp), הגובה החציוני מעל פני הים בו הן חיות (elevation), ומספר התטולות שהן מטילות בשנה (broods)

Model selection ניתן פשוט לבחון אילו משתנים במודל מובהקים נמחק את הטמפרטורה ונחשב מחדש: model2<-lm(clutch~mass+elevation+broods) 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.8068 broods -0.2317 0.0917 -2.5280 0.0117 * דוגמא: מנסים להסביר גודל תטולה בודדת של מיני לטאות באמצעות נתונים על גודל גופן (mass), טמפרטורת הסביבה שלהן (temp), הגובה החציוני מעל פני הים בו הן חיות (elevation), ומספר התטולות שהן מטילות בשנה (broods)

כל המשתנים מובהקים, עצור! Model selection ניתן פשוט לבחון אילו משתנים במודל מובהקים נמחק את מספר הגובה ונחשב מחדש: model3<-lm(clutch~mass+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 * model3 = MAM גודל תטולה הוא פונקציה של גודל גוף ושל מספר התטולות השנתי, וזהו

ניתן פשוט לבחון אילו משתנים במודל מובהקים Model selection ניתן פשוט לבחון אילו משתנים במודל מובהקים forward addition אפשר להתחיל במודל הפשוט ביותר, ולהוסיף כל פעם משתנה נוסף, ולהשאיר אותו אם ה-p עבורו קטן מ-0.05 (או ערך סף אחר). model1a<-lm(clutch~mass) model2a<- lm(clutch~mass+broods) model3a<- lm(clutch~mass+broods+elevation) ברגע שנגיע למודל שמכיל גורמים לא מובהקים (model3a בדוגמה שלנו) נעצור ונבחר את המודל הקודם (model2a בדוגמה שלנו) כ-MAM

ניתן פשוט לבחון אילו משתנים במודל מובהקים Model selection ניתן פשוט לבחון אילו משתנים במודל מובהקים forward addition מתחילים במודל הפשוט ביותר, ומוסיפים כל פעם משתנה נוסף, ולהשאיר אותו אם ה-p עבורו קטן מ-0.05 (או ערך סף אחר). שימו לב: לא כל הצירופים האפשריים בין פרמטרים (והאינטראקציות ביניהם) משמשים לא ב-forward addition ולא ב-backwards elimination כאן, ויכול להיות שהצירוף "הכי נכון" לא נבדק. מצד שני מספר המודלים האפשרי עולה בחזקה של מספר הפרמטרים בהם משתמשים, כך שבחינת כל המודלים האפשריים לא מעשית אם יש לנו הרבה מאוד פרמטרים – אלא אם כן אנו יודעים יש לנו מחשב חזק והרבה זמן...

Akaike Information Criterion Model selection Akaike Information Criterion Hirotsugu Akaike דרך חלופית לבחירת מודלים השוואה בין מודלים על פי 2 פרמטרים: כמה המודל "טוב" (רמת הדיוק בה מתוארת המציאות) לעומת כמה הוא מורכב (כמה פרמטרים הערכנו) AIC = 2k-2ln(L) כאשר K הוא מספר הפרמטרים ו-L הוא ה maximum likelihood של המודל (שבלי להכנס לפירוט מיותר מבטא במקרה הזה את ה residual sum of squares – ככל שהוא קטן יותר המודל טוב יותר, וניתן לכתוב [AIC = 2k+n[ln(RSS)) ככל שערך ה AIC נמוך יותר המודל טוב יותר http://en.wikipedia.org/wiki/Residual_sum_of_squares http://en.wikipedia.org/wiki/Akaike_information_criterion

Akaike Information Criterion Model selection Akaike Information Criterion Hirotsugu Akaike AIC = 2k-2ln(L) שימו לב שהתמיכה במודל חזקה יותר ככל שערך ה AIC נמוך יותר: AIC rewards descriptive accuracy via the maximum likelihood (High L), and penalizes lack of parsimony according to the number of free parameters (high K) ב-R השוואת מודלים לפי AIC פשוטה מאוד: AIC(model1,model2,model3)

Model selection נחזור ללטאות df AIC model1 6 4430.458 model2 5 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), טמפרטורת הסביבה שלהן (temp), הגובה החציוני מעל פני הים בו הן חיות (elevation), ומספר התטולות שהן מטילות בשנה (broods)

Akaike Information Criterion AIC(model1,model2,model3) לא מאפשר לבחון כמה טוב הוא מבחן בודד, אלא רק להשוות בין מספר מבחנים הנשענים על אותם נתונים התוצאה (score) של AIC חסרת משמעות בפני עצמה: לא ניתן להשוות AIC בין מבחנים של שאלות שונות או שמתבססים על נתונים שונים כמו שניתן להגיד ש 0.05=0.05=0.05 בנוסף, כלל האצבע אומר שלא ניתן לומר שהבדלים בערכי AIC של פחות מ-2 אינם מאפשרים לומר איזה מודל טוב יותר

Akaike Information Criterion כלל האצבע אומר שלא ניתן לומר שהבדלים בערכי AIC של פחות מ-2 אינם מאפשרים לומר איזה מודל טוב יותר AIC(model1,model2,model3) df AIC ∆AIC model3 4 4426.521 model2 5 4428.461 1.94 model1 6 4430.458 3.937 נסדר את המודלים על פי ערכי AIC מהנמוך (הכי טוב) לגבוה, ונחשב עבור כל אחד את הפרש ה AIC score מהמודל עם ה score הנמוך ביותר – לקבלת ערך ה AIC∆ של כל מודל. בדוגמה הזו לא ניתן לומר שמודל 3 עדיף על מודל 2 כיוון שההפרש ב AIC ביניהם קטן מ-2.

Model selection: AIC and other animals המודל עם ה-AIC הנמוך ביותר בהחלט עשוי להכיל גורמים שערך ה-p שלהם גדול מ-0.05 (AIC מתירני למדי לגבי הפרמטרים שהוא "מרשה" לכלול). 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)

Model selection: variation on the AIC theme AICc = AIC+(2k*[k+1]/[n-k-1]) AICc תיקון ל 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.”† 3. Baysian Information Criterion, BIC סובלני פחות1 מ AIC למספרים גדולים של פרמטרים†† BIC: -2*ln L + k*ln(n) † 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 1. שימו לב: k מוכפל בגודל המדגם!, ב-AIC גודל המדגם לא משחק

זיכרו, בכל עבודה: "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.