# t-teszt, t-proba x <- rnorm(30) y <- rnorm(30) + 3 mean(x) mean(y) # atlag kb egyenlo v.e. # statisztikaban neha kerdes, hogy ha # nem 0 atlagot latok, az csak a vetletlen # muve, vagy tenyleges hatas # pl gyogyszernel # t-proba: feltesszuk, hogy normalis # eloszlasuak az adatok # kerdes: 0-e a varhato ertek? # statisztikai teszt: "fogadas" # H0: "nullhipotezis" v.e. = 0 # H1: "ellenhipotezis": v.e. =/= 0 # szeretnenk minel nagyobb esellyel # eltalalni az igazsagot # Student t-eloszlás # kötelező paraméter: szabadsági fok # df= pozitív egész, pozitív valós, # vagy Inf z <- seq(-4,4,0.1) plot(z,dt(z,df=1),type="l",ylim=c(0,0.5)) lines(z,dt(z,df=5),col="blue") lines(z,dt(z,df=20),col="red") lines(z,dt(z,df=Inf),col="green") # ha H0 igaz, akkor X_i eloszlas ismert # akkor a t-stat t(X1,...,Xn) eloszlasa is # ismert: Student t, df=n-1 # peldankban: n =30 , t stat t(df=29) # elore megszabjuk: hamis negativ eselye 10% # ehhez "dobunk el" 5-5%-ot: plot(z,dt(z,df=29),type="l") qt(c(0.05,0.95),df=29) abline(v=qt(c(0.05,0.95),df=29)) # berajzolt vonalakról kifelé görbe alatti # terület 5-5%-a # két vonal között H0-ra tippelünk # kívül H1-re # így lesz a hamis negatív esélye össz. 10% tt <- t.test(x) tt tt$stat abline(v=tt$stat,col="red") pt(tt$stat,df=29) 2*pt(tt$stat,df=29) tt$p.value # vegyuk eszre: ha pt < 0.5, akkor # p.value = 2$pt # kulonben p.value = 2(1-pt) # p.value azt mutatja, ha erre a futasra # azt tippelem, hogy H1, akkor p.value a # hamis negativ eselye # ha p.value < 0.1, az elore kiszemelt # hiba valoszinusegem, # akkor H1-t tippelek, # ha p.value > 0.1, az mar tul nagy hiba, # akkor H0-t tippelek. # ha H1-t tippelek: eredmeny "szignifikans": # akkor hisszuk azt, hogy a nem 0 atlag # nem csak a veletlen eredmenye # gyogyszeres peladaban: a vernyomascsokkenes # nem csak a veletlen muve, hanem a gyogyszere # gyakorlatban H1-nek orulunk # 10% hamis negatív: ha x, 0 ve-u vektort # ujrageneralom sokszor, az esetek kb # 10%-aban a t-stat a kritikus tartományba # esik, azaz nem fogom elhinni, hogy # 0 v.e. plot(z,dt(z,df=29),type="l") abline(v=qt(c(0.05,0.95),df=29)) for (i in 1:20) { x <- rnorm(30) ; abline(v=t.test(x)$stat,col="blue",lty=2) } # hamis negativ: a fekete vonalakon kivuliek abline(v=t.test(y)$stat,col="purple") t.test(y)$stat