Presentation is loading. Please wait.

Presentation is loading. Please wait.

R statisika.

Similar presentations


Presentation on theme: "R statisika."— Presentation transcript:

1 R statisika

2 Duomenys Susikurkite nauja Rstudijo projektą „Statistika“.
Atsisiųskite iš hkk.gf.vu.lt statistikai.zip archyvą. Išarchyvuokite darbinėje direktorijoje atsisiųstą zip failą. Įsikelkite į R statistikai.Rdat duomenis. load("statistikai.Rdata") Susipažinkite su objekto sn turiniu.

3 Aprašomoji statistika
summary() – apibendrina objektą sudarančius vektorius (minimumas, maksimumas, 1 ir 3 kvartiliai, vidurkis, mediana) Pritaikykite funkciją summary() objekto sn 4 ir 5 stulpeliams (viena komanda).

4 Aprašomoji statistika
range(x) – vektoriaus minimumas ir maksimumas median(x) – vektoriaus mediana quantile(x, probs) – vektoriaus kvantiliai (percentiliai). Apskaičiuokite stulpelio lat minimumą ir maksimumą. Apskaičiuokite sniego gylio (depth) medianą. Apskaičiuokite sniego gylio 0.95 percentilį. Apskaičiuokite sniego gylio percentilius kintančius kas intervale nuo 0 iki 1. Pavaizduokite sniego gylio percentilių kaitą.

5 Aprašomoji statistika
Naudodami funkciją tapply apskaičiuokite sniego gylio percentilį stotims kiekvieną mėnesį: x1<-tapply( sn$depth, list(sn$Month, sn$Station), quantile, 0.95) Apskaičiuokite sniego gylio percentilius kintančius kas 0.05 intervale nuo 0 iki 1 kiekvieną mėnesį ir priskirkite objektui x2.

6 Autokoreliacija acf(x) – vektoriaus autokoreliacijos funkcija
Įvertinkite sniego gylio autokoreliacijos funkciją ir priskirkite rezultatą x3. Susipažinkite su autokoreliacijos koeficientais print(x3) Autokoreliacijos funkcijos rezultatas –acf objektas (list) Naudodami komandą names(x3) sužinokite kokie nariai sudaro acf objektą. Sąrašo narius galime gauti naudodami simbolį $ ir nario pavadinimą. Komanda x4<-x3$acf priskiria x4 autokoreliacijos koeficientus. Padarykite sniego gylio autokoreliacijos koeficientų paveikslą.

7 Autokoreliacija Naudodami funkciją tapply apskaičiuokite sniego dangos storio autokoreliaciją visoms MS. x5<-tapply( , , acf) Padarykite Bauska MS autokoreliacijos koeficientų paveikslą.

8 Koreliacija cor(x,y, method = .... ) – dvejų vektorių "pearson", "kendall" arba "spearman" koreliacija. Apskaičiuokite sniego dangos storio ir dienų su sniego danga skaičiaus (days) koreliaciją, nenurodydami metodo, nurodydami "pearson", "kendall" ir "spearman" metodus (4 koreliacijos koeficientai). Kuris koreliacijos koeficiento skaičiavimo metodas naudojamas pagal numatymą? Norint apskaičiuoti koreliaciją pagal grupes patogiau naudoti dplyr, plyr arba data.table paketus.

9 Koreliacija cor.test(x, y, method =...., conf.level = 0.95) – dvejų vektorių koreliacijos statistinio patikimumo vertinimas. Funkcija cor.test() sukuria htest (hipotezės tikrinimo objektą), kurio turinį galima pamatyti naudojant print() funkciją arba parašant objekto pavadinimą. Patikrinkite ar tarp sniego gylio ir dienų su sniegu skaičiumi yra ryšys (r nelygu 0). x6<-cor.test(....., )

10 Koreliacija print(x6) arba x6 Pearson's product-moment correlation
data: sn$depth and sn$days t = , df = 24936, p-value < 2.2e-16 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: sample estimates: cor

11 Skirstiniai

12 Skirstiniai Prieš kiekvieno skirstinio pavadinimą parašydami vieną iš raidžių p, d, q, r gauname kitoką skirstinio reikšmės išraišką: p – skirstinio tikimybių pasiskirstymo funkcija (cumulative probability distribution function) d – skirstinio tikimybių tankio funkcija (probability density function) q – atvirkštinė kumuliacinė paskirstymo funkcija (quantile function) r – atsitiktinių skirstinio narių generavimas Pavyzdžiui dnorm(x, 0, 1) suranda normalaus skirstinio, kurio vidurkis 0, o standartinis nuokrypis 1 tankį ties x reikšme.

13 Skirstiniai Įvykdykite šias komandas (standartizuotam normaliajam skirstiniui kurio vidurkis 0, o standartinis nuokrypis 1) ir apibūdinkite jų rezultatus : dnorm(1, 0, 1) pnorm(c(-1, 0, 1), 0, 1) qnorm(c(0.05, 0.5, 0.95), 0, 1) rnorm(5,0,1) dnorm pnorm /qnorm

14 Testai R No Function Description 1 ansari.test Ansari-Bradley Test 17
poisson.test Exact Poisson tests 2 bartlett.test Bartlett Test of Homogeneity of Variances 18 print.power.htest Print Methods for Hypothesis Tests and Power Calculation Objects 3 binom.test Exact Binomial Test 19 quade.test Quade Test 4 chisq.test Pearson's Chi-squared Test for Count Data 20 kruskal.test Kruskal-Wallis Rank Sum Test 5 fligner.test Fligner-Killeen Test of Homogeneity of Variances 21 prop.trend.test Test for trend in proportions 6 Box.test Box-Pierce and Ljung-Box Tests 22 power.anova.test Power Calculations for Balanced One-Way Analysis of Variance Tests 7 ks.test Kolmogorov-Smirnov Tests 23 mood.test Mood Two-Sample Test of Scale 8 friedman.test Friedman Rank Sum Test 24 t.test Student's t-Test 9 mcnemar.test McNemar's Chi-squared Test for Count Data 25 wilcox.test Wilcoxon Rank Sum and Signed Rank Tests 10 mantelhaen.test Cochran-Mantel-Haenszel Chi-Squared Test for Count Data 26 power.prop.test Power Calculations for Two-Sample Test for Proportions 11 cor.test Test for Association/Correlation Between Paired Samples 27 power.t.test Power calculations for one and two sample t tests 12 fisher.test Fisher's Exact Test for Count Data 28 PP.test Phillips-Perron Test for Unit Roots 13 mauchly.test Mauchly's Test of Sphericity 29 prop.test Test of Equal or Given Proportions 14 oneway.test Test for Equal Means in a One-Way Layout 30 pairwise.prop.test Pairwise comparisons for proportions 15 pairwise.t.test Pairwise t tests 31 var.test F Test to Compare Two Variances 16 pairwise.wilcox.test Pairwise Wilcoxon Rank Sum Tests 32 shapiro.test Shapiro-Wilk Normality Test

15 One Sample t-Test Tikrinant ar pagal normalųjį skirstinį pasiskirsčiusio vektoriaus x vidurkis yra lygus skaičiui mu atliekamas t-testas. Funkciją t.test(x, mu = 0, conf.level = 0.95, ...) Nustatykite ar vidutinis sniego dangos storis depth (sn duomenys) yra lygus 23 ar 13 Jei p< 0.05 atmetame alternatyvią hipotezę. x7<-t.test(sn$depth, mu=23) One Sample t-test data: sn$depth t = , df = 24937, p-value < 2.2e-16 alternative hypothesis: true mean is not equal to 23 95 percent confidence interval: sample estimates: mean of x x8<-t.test(sn$depth, mu=13) One Sample t-test data: sn$depth t = 1.273, df = 24937, p-value = 0.203 alternative hypothesis: true mean is not equal to 13 95 percent confidence interval: sample estimates: mean of x

16 Two Sample t-Test Tikrinant ar pagal normalųjį skirstinį pasiskirsčiusių vektorių x ir y vidurkiai vienodi atliekamas t-testas. Funkciją t.test(x, y, conf.level = 0.95, ...) Patikrinkite ar sniego storio vidurkis sausį ir vasarį yra vienodas: x9<-t.test( , ) Welch Two Sample t-test data: and t = , df = , p-value = 1.004e-14 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: sample estimates: mean of x mean of y

17 lm R tiesinės regresijos modeliai sudaromi naudojant funkciją lm().
lm(formula, data) Čia: formula – R objektas formula nurodantis modeliuojamus ryšius tarp kintamojo ir prediktorių. data – data frame arba list su duomenimis kurių stulpelių ar narių pavadinimai naudojami lm. Jei nenurodoma - naudojami duomenys iš darbinės aplinkos. lm() sukuria lm objektą.

18 lm Sudarykime tiesinės regresijos modelį siejantį sniego dangos storį su platuma: x11<-lm(depth~lat, data=sn) Modelio apibendrinimą galime pamatyti naudodami komandą summary(x11).

19 Lm summary() Call: lm(formula = depth ~ lat, data = sn) Residuals:
Min Q Median Q Max Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) <2e-16 *** lat <2e-16 *** --- Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: on degrees of freedom Multiple R-squared: , Adjusted R-squared: F-statistic: on 1 and DF, p-value: < 2.2e-16

20 lm coef() - modelio parametrai (koeficientai) resid() - neatitiktys
fitted() - pagal modelį nustatytos reikšmės Gaukite modelio x11 koeficientus. Padarykite x11 modelio neatitiktčių ir nustatytų reikšmių kaitos paveikslus ir histogramas.

21 lm plot() sudaro diagnostinius paveikslus

22 lm predict(modelis, duomenys) apskaičiuoja modelio rezultatą pagal naujus duomenis patalpintus data frame su tokiais pat stulpelių pavadinimais kaip ir prediktoriai. Sukurkite naują data frame su prediktoriaus lat reikšmėmis nuo 30 iki 90 platuma<-data.frame(lat=c(30:90)) Apskaičiuokite sniego storio reikšmes pagal modelį x11 platumai kintant nuo 30 iki 90. Padarykite apskaičiuotų sniego reikšmių priklausomybės nuo platumos paveikslą. Nuo kurios platumos pradeda formuotis sniegas?

23 lm anova() pateikia apibendrinimą apie modelio paaiškinamą variacijos dalį, leidžia palyginti kelis modelius. Padarykite modelį x12 kuriame sniego danga priklausytų nuo platumos ir ilgumos (lat ir lon). x12<-lm(depth~lat+lon, data=sn) Sukurkite modelį x13, kuriame sniego danga priklausytų nuo koordinačių ir aukščio virš jūros lygio (height). Palyginkite visų trijų modelių paaiškinama variacijos dalį anova(x11,x12, x13) Res.Df RSS Df Sum of Sq F Pr(>F) < 2.2e-16 *** < 2.2e-16 *** --- Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

24 lm Sudarykite tiesinės regresijos modelį, kuriame vidutinis sezono dienų skaičius (days)priklauso nuo geografinių veiksnių (platumos, ilgumos ir aukščio virš jūros lygio). Duomenis naujai analizei parenkime šiomis komandomis: sn.s<-sn[sn$Month=="Season",c("Station", "days", "lat","lon","height")] sn.s.a<-aggregate(sn.s[,2:5], by=list(sn.s$Station), mean) names(sn.s.a)[1]<-"Station" Įvykdžius kiekvieną komandą, pasitikrinkite jos rezultatą. Ar suprantate ką kiekviena komanda daro? Atlikite modelio tinkamumo analizę.

25 lme4 Su lm() funkcija negalima pritaikyti regresijos grupėms (kategorijoms) Tai galima padaryti naudojant dplyr, data.table arba lme4 paketus. Su lme4 paketu regresiją sudarome funkcija lmList(), o grupes nurodome po simbolio „|“. x15<-lmList(depth~lat+lon+height|Month, data=sn) Gaukite x15 modelio koeficientus.

26 nls Netiesinio modelio koeficientus surandame nls() funkcija.
nls(formula, data, start) Čia: formula – R objektas formula nurodantis modeliuojamus ryšius tarp kintamojo ir prediktorių, bei koeficientų. data – data frame arba list su duomenimis kurių stulpelių ar narių pavadinimai naudojami nls. start – sąrašas pradinių koeficientų reikšmių sąrašas (list)

27 nls Sugeneruokime duomenis kurie kinta pagal y=3*x/(8+x) ir pridėkime prie jų atsitiktinę paklaidą x <- rnorm(100,50,20) y <- 3*x/(8+x) y <- y +rnorm(100,0,0.15) x16 <- data.frame (x=x,y=y) Atvaizduokime duomenis plot(x16) Nustatykime pagal duomenis modelio y=b1*x/(b2+x) koeficientus x17 <- nls(y ~ b1*x /(b2 + x), start = list( b1 = 2.5, b2 = 7), data=x16) Iš naujo sugeneruokite duomenis ir priskirkite juos x18 objektui. Nustatykite b1 ir b2 koeficientus. Ar jie skiriasi nuo ankščiau nustatytų?

28 Bootstrapping (statistiniai skaičiavimai pagal skirtingas imtis)
Bootstrapping atliekamas naudojant boot paketo funkciją boot. boot(data= , statistic , R=, ...) Čia data – duomenys kuriems pritaikysime boot(), statistic – funkcija tinkanti boot(), R= - imčių skaičius. Funkcija taikoma boot() turi būti būti apskaičiuojama bent pagal 2 argumentus: duomenis ir indeksvimo argumentą. Pvz. vidurkis<- function(x, d) { return( mean(x[d]) ) } x19<-boot(data=sn$depth , statistic=vidurkis , R=50) Ką gauname įvykdę komandas print(x19), x19$t0 ir x19$t ?


Download ppt "R statisika."

Similar presentations


Ads by Google