Advertisement
Guest User

Untitled

a guest
Jun 7th, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 13.13 KB | None | 0 0
  1. ---
  2. title: "Zestawy"
  3. author: "Author name"
  4. date: "6 czerwca 2019"
  5. output: html_document
  6. ---
  7.  
  8. ```{r setup, include=FALSE}
  9. knitr::opts_chunk$set(echo = TRUE)
  10. ```
  11.  
  12. ## R Markdown (PRZKLAD)
  13.  
  14. This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.
  15.  
  16. When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
  17.  
  18. ```{r aid}
  19. summary(Aids2)
  20. ```
  21.  
  22. ## R Markdown (END OF PRZKLAD)
  23.  
  24.  
  25. ## Zestaw 1 zadanie 12
  26. Wykonaj histogram i wykres pudełkowy dla danych: aid (miesięczne
  27. płatności na program federalny w USA), crime (współczynnik
  28. przestępczości dla stanów w USA (lata 1983, 1993)) oraz south
  29. (współczynnik zabójstw w amerykańskich miastach) z pakietu UsingR.
  30. Który z tych zbiorów danych jest asymetryczny, a który symetryczny? W
  31. jakim zbiorze istnieją obserwacje odstające?
  32.  
  33. ## Zestaw 2 zadanie 16
  34. Niech X_1,...,X_n - będą zmiennymi losowymi o rozkładzie jednostajnym w przedziale [0, 1].
  35. Oszacować prawdopodobieństwo, że wartość średnia z próbki n- elementowej jest mniejsza niż mediana.
  36. Obliczenia wykonać dla losowo wybranych k=100000 próbek dla n=30. Wynik zapisać w postaci tabeli.
  37.  
  38. # Wyznaczanie przedziaіu ufnoњci dla odchylenia standardowego
  39.  
  40. f3=function(x,alpha){
  41.   n=length(x)
  42.   chi1=qchisq(1-alpha/2,n-1)
  43.   chi2=qchisq(alpha/2,n-1)
  44.   x_l=n*var(x)/chi1
  45.   x_p=n*var(x)/chi2
  46.   list(lewy_koniec=x_l,prawy_koniec=x_p,lewy=sqrt(x_l),
  47.        prawy=sqrt(x_p))
  48. }
  49.  
  50. # Wyznaczanie przedziaіu ufnoњci dla proporcji
  51.  
  52. f4=function(n,m,alpha){
  53.   p=m/n
  54.   u_alpha=qnorm(1-alpha/2)
  55.   x_l=p-u_alpha*sqrt(p*(1-p)/n)
  56.   x_p=p+u_alpha*sqrt(p*(1-p)/n)
  57.   list(lewy=x_l,prawy=x_p)
  58. }
  59. f4(500,100,0.05)
  60. f4(5000,1000,0.05)
  61. f4(50000,10000,0.05)
  62.  
  63. # Wykonamy symulacjк wyjaњniaj№c№ czym jest 95% przedziaі ufnoњci dla wartoњci sredniej.
  64. # W pierwszej kolejnoњci wygenerujemy dwie populacje licz№ce po 6000 elementуw.
  65. # pierwsz№ x1 - z rozkіadu N(2,1) a drug№ x2 - z rozkіadu jednostajnego w przedziale
  66. # [-1,1].
  67. x1<-rnorm(6000,2,1)
  68. x2<-runif(6000,-1,1)
  69. # Nastкpnie z tych zbiorуw bкdziemmy 100 razy losowaж prуbki po 200 elementуw.
  70. # Dla kaїdej wylosowanej 200 elementowej prуbki wyznaczymy przedziaі ufnoњci
  71. # i ich koсce zapiszemy w wektorach l i r
  72. # Dobr№ zasad№ jest na wstepie utworzenie wektorуw l i r 200 elementowych
  73. # zawieraj№cych NA. Pozwala to kontrolowaж w trakcie symulacji kroki ktуre juї zostaіy
  74. # wykonane
  75. k=200 # liczebnoњж pojedynczej prуbki
  76. n<-100 # liczba iteracji
  77. l<-rep(NA,n) # generowanie wektora gdzie bкd№ przechowywane lewe koсce przedziaіow ufnoњci
  78. r<-rep(NA,n) # generowanie wektora gdzie bкd№ przechowywane prawe koсce przedziaіow ufnoњci
  79.  
  80. # Obliczenia dla zbioru x1.
  81.  
  82. for(i in 1:100)
  83. {
  84.   print(i)
  85.   a1<-sample(1:6000,k,replace=F) # generowanie k indeksуw dla i-tej prуbki
  86.   l[i]<-t.test(x1[a1],alternative="two.sided",mu = 0,conf.level=0.95)$conf.int[1]
  87.   r[i]<-t.test(x1[a1],alternative="two.sided",mu = 0,conf.level=0.95)$conf.int[2]
  88. }
  89. # Okreњlimy ktуre ze 100 przedziaіуw ufnoњci zawiera wrtoњж њredni№ populacji x1
  90. mean((l<=mean(x1,na.rm=T))&(mean(x1,na.rm=T)<=r))
  91. # zobrazujemy to graficznie
  92. win.graph()
  93. plot(c(l,r),c(1:100,1:100),type="n",xlab="Przedziaі ufnoњci",ylab="Prуbki",
  94. main="Prуbki losowane ze zbioru o rozkіadzie N(2,1)")
  95. s<-seq(1,100,length=100)
  96. for (i in 1:100)
  97. {ifelse((l[s][i]<=mean(x1,na.rm=T))&(mean(x1,na.rm=T)<=r[s][i]),b<-1,b<-2)
  98.   lines(c(l[s][i],r[s][i]),c(s[i],s[i]),col=b)}
  99. lines(rep(mean(x1,na.rm=T),100),1:100)
  100.  
  101. # Obliczenia dla zbioru x2.
  102.  
  103. for(i in 1:100)
  104. {
  105.   print(i)
  106.   a1<-sample(1:6000,k,replace=F) # generowanie k indeksуw dla i-tej prуbki
  107.   l[i]<-t.test(x2[a1],alternative="two.sided",mu = 0,conf.level=0.95)$conf.int[1]
  108.   r[i]<-t.test(x2[a1],alternative="two.sided",mu = 0,conf.level=0.95)$conf.int[2]
  109. }
  110. #
  111. # Okreњlimy ktуre ze 100 przedziaіуw ufnoњci zawiera wrtoњж њredni№ populacji x2
  112. mean((l<=mean(x2,na.rm=T))&(mean(x2,na.rm=T)<=r))
  113. # zobrazujemy to graficznie
  114. win.graph()
  115. plot(c(l,r),c(1:100,1:100),type="n",xlab="Przedziaі ufnoњci",ylab="Prуbki",main=
  116.        "Prуbki losowane ze zbioru o rozkіadzie jednostajnym w [-1, 1]")
  117. s<-seq(1,100,length=100)
  118. for (i in 1:100)
  119. {ifelse((l[s][i]<=mean(x2,na.rm=T))&(mean(x2,na.rm=T)<=r[s][i]),b<-1,b<-2)
  120.   lines(c(l[s][i],r[s][i]),c(s[i],s[i]),col=b)}
  121. lines(rep(mean(x2,na.rm=T),100),1:100)
  122. #
  123. # Symulacja przedziaіуw ufnoњci dla proporcji z wykorzystaniem funkcji
  124. # matplot z pakietu graphics.
  125. # Piкdziesi№t razy rzucamy 20 razy monet№.
  126. library(graphics)
  127. m = 50; n=20; p=0.5;alpha=0.1 # p- prawdopodobieсstwo wyrzucenia orіa
  128. ls=rbinom(m,n,p) # wektor ktуry zawiera liczbк orіуw z 50 doњwiadczeс.
  129. matplot(rbind(f4(n,ls,alpha)[[1]],f4(n,ls,alpha)[[2]]),rbind(1:m,1:m),type="l",lty=1)
  130. abline(v=p)
  131.  
  132. ## Zestaw 3 zadanie 4
  133. Czy istnieje różnica między grupami dotyczącymi końcowego pomiaru i jaki jest rozmiar efektu?
  134. (Wskazówka: użyj jednokierunkowej ANOVA)
  135.  
  136.  
  137. Testowanie przeprowadza siк za pomoc№ funkcji **anova()** porуwnuj№c model ktуry uwzglednia wszystkie zmienne niezaleїne z modelami ktуre zawieraj№ mniej zmiennych niezaleїnych.
  138. Dla regrsji liniowej jednej zmiennej model liniowy porуwnuje siк z modelem ktуry uwzglкdnia tylko staі№.
  139.  
  140. Okreњlmy model zaleїny tylko od staіej:
  141.  
  142. ```{r}
  143. eruptions0.lm = lm(eruptions ~ 1, data=faithful)
  144. ```
  145.  
  146. Porуwnamy za pomoc№ funkcji **anova()** modele eruptions0.lm i eruptions.lm:
  147.  
  148. ```{r}
  149. anova(eruptions0.lm,eruptions.lm)
  150. ```
  151.  
  152. Zauwaїmy, їe wartoњж statystyki **F** i **p-value** wyznaczone powyїej s№ takie same jak wyznaczone za pomoc№ funkcji **summary(eruptions)**.
  153. Poniewaї wartoњж **p-value** jest duїo mniejsza od 0.05 wiкc model **eruptions.lm** jest lepszy niї model **eruptions0.lm**.
  154.  
  155.  
  156. ## Zestaw 4 zadanie 12
  157. Obserwując liczbę awarii w sieci wodno-kanalizacyjnej w ciągu 100 dni w pewnym rejonie miasta otrzymano dane:
  158. Dzienna liczba awarii
  159. 0
  160. 1
  161. 2
  162. 3
  163. 4
  164. Liczba dni
  165. 13
  166. 32
  167. 27
  168. 18
  169. 10
  170. a) Na poziomie ufności 1 - a =0,9 oszacować metodą przedziałową średnią dzienną liczbę awarii w l losowo
  171. wybranym dniu.
  172. b) Na poziomie ufności 1 - a =0,95 oszacować metodą przedziałową wariancję dziennej liczby awarii w sieci
  173. wodno-kanalizacyjnej.
  174. c) Na poziomie istotności a = 0,05 zweryfikować hipotezę, że średnia dzienna liczba awarii w sieci wodno-kanalizacyjnej
  175. jest równa 1,5.
  176.  
  177.  
  178. # Przykіad 6.
  179. #
  180. # Administrator sieci komputerowej zebraі dane na temat liczby awarii sieci podczas ostatnich
  181. # 500 dni. Uzyskaі nastкpuj№ce wyniki:
  182. #  l_awarii   l_dni
  183. #   0          119
  184. #   1          182
  185. #   2          123
  186. #   3           48
  187. #   4           17
  188. #   5            6
  189. #   6            5
  190.  
  191. # Czy na poziomie istotnoњci 0.05 moїna s№dziж, їe liczba awarii ma rozkіad Poissona?
  192. # Niech X oznacza liczbк awarii. Mamy nastкpuj№ce hipotezy:
  193. #  H0 : X ~ pois(lambda) - zmienna losowa X ma rozkіad zgodny z rozkіadem Poissona
  194. # H1 : ~ (X ~ pois(??) ).
  195. # Nie znamy parametru lambda w rozkіadzie Poissona, ale wiemy, їe moїna go oszacowaж przez њredni№
  196. # (jako wartoњж oczekiwana) :
  197. l_awarii=0:6  # wektor okreњlaj№cy liczbк awarii
  198. l_dni=c(119, 182, 123, 48, 17, 6, 5) # wektor okreњlaj№cy liczbк dni poszczegуlnych awarii
  199. dane=rep(l_awarii, l_dni) # tworzymy wektor danych
  200. lambda=mean(dane)  # wyliczamy wartoњж њredni№
  201. prawd=c(dpois(0:5, lambda), ppois(5, lambda, lower.tail=F)) # obliczamy prawdopodobieсstwa
  202. # dla poszczegуlnych liczby awarii
  203. chisq.test(table(dane), p=prawd)
  204. #
  205.  
  206. ## Zestaw 5 zadanie 10
  207.  
  208.  
  209.  
  210. Zadanie 10. a. Wczytaj zbiór danych star z pakietu faraway i zapoznać się ze zmiennymi tego zbioru. b.
  211. Zbadać zależność zmiennej light od zmiennej temp zarówno liniową jak i wielomianową
  212. drugiego stopnia. c. Wykonać stosowne wykresy i analizę dopasowania.
  213.  
  214.  
  215.  
  216. #### Miara dopasowania
  217.  
  218. Najbardziej popularn№ miar№ dopasowania jest wspуіczynnik determinacji. Jest to liczba z przedziaіu $[0,\,1]$ i oznacza siк j№ $R^2$, wartoњж $R^2=1$  oznacza doskonaіe dopasowanie, natomiast wartoњж $R^2=0$ oznacza brak powi№zania liniowego miкdzy zmiennymi. Zanim okreslimy wielkoњж $R^2$ wprowadџmy nastкpuj№ce oznaczenia:
  219. $$\sum_{i=1}^n(y_i-\bar{y})^2 -\quad  caіkowita\,\, suma\,\, kwadratуw\,\, (CSK),$$
  220. $$\sum_{i=1}^n(\hat{y_i}-\bar{y})^2 -\quad wyjaњniona\,\, suma\,\, kwadratуw\,\, przez\,\,model\,\, (WSK),$$
  221. $$\sum_{i=1}^ne_i^2 \, -\quad  resztowa\,\, suma\,\,kwadratуw\,\,(RSK).$$
  222. Miкdzy tymi wielkoњciami zachodzi nastкpuj№ca zaleїnoњж:
  223. $$\sum_{i=1}^n(y_i-\bar{y})^2=\sum_{i=1}^n(\hat{y_i}-\bar{y})^2 + \sum_{i=1}^ne_i^2.$$
  224. Jako wspуіczynnik determinacji przyjmujemy stosunekk zmiennoњci wyjaњnionej do zmiennoњci caіkowitej.
  225. Zatem
  226. $$R^2=\dfrac{WSK}{CSK}.$$
  227. Wspуіczynnik $R^2$ mierzy nam, jaka czкњж ogуlnej zmiennoњci zmiennej zaleїnej jest wyjaњniona przez regresjк liniow№.
  228. Im wiкksze $R^2$, tym lepiej. Nie naleїy jednak przesadzaж. Doі№czenie bowiem nowej zmiennej do istniej№cego modelu zawsze powoduje zwiкkszenie $R^2$. Naszym celem nie jest uzyskanie jakk najwiкkszego $R^2$, a znalezienie zwi№zku miкdzy X i Y z rzetelnymi ocenami parametrуw.
  229.  
  230. #### Klasyfikacja obserwacji nietypowych
  231.  
  232. Poprawne wnioskowanie i poprawna diagnoza dopasowanego modelu jest niemoїliwa bez wykrycia i analizy wpіywu na model tzw. obserwacji nietypowych.
  233. Obserwacje takie mog№, choж nie musz№, wywieraж istotny wpіyw na wyniki.
  234. Wњrуd takich obserwacji bкdziemy wyrуїniaж: punkty **wysokiej dџwigni**, **punkty odstaj№ce** (oddalone), **punkty wpіywowe**.
  235.  
  236. Wielkoњж $h_i$ okreњlon№ nastкpuj№co:
  237. $$h_i=\frac{1}{n}+\frac{x_i-\bar x}{\sum_j^n(x_j-\bar x)^2}$$
  238. bкdziemy nazywaж **dџwigni№** $i$-tej obserwacji.
  239.  
  240. Dџwignia okreњla wariancjк i-tej reszty (wiкksza dџwignia powoduje mniejsz№ wariancjк). Wiкksz№ dџwigniк maj№ obserwacje,
  241. ktуre znajduj№ siк na skraju zakresu zmiany zmiennej niezaleїnej, natomiast wartoњж zmiennej zaleїnej zupeіnie nie wpіywa na wielkoњж dџwigni. Najmniejsz
  242. dџwigniк (rуwn№ $\frac{1}{n}$) ma obserwacja, ktуrej wartoњж $x_i$ pokrywa siк z wartosci№ њredni№ $\bar x$. Kres gуrny dla wartoњci dџwigni jest rуwny jednoњci.
  243.  
  244. Zachodzi nastepuj№ca zaleїnoњж
  245. $$Var(e_i)=(1-h_i)Var(y_i).$$
  246. Obserwacjк o numerze $i, \,i = 1, . . . , n$, nazywamy **obserwacj№ odstaj№c№**, jeњli
  247. $$\frac{\vert e_i\vert}{\sqrt{Var(y_i)\cdot (1-h_i)}}>2.$$
  248. **Odlegіoњci№ Cooka** dla obserwacji o numerze $i,\, i = 1, . . . , n,$ okreњlamy nastepuj№co:
  249. $$D_i =\frac{e_i^2h_i}{2Var(y_i)\cdot (1-h_i)^2}.$$
  250. Obserwacjк nazywamy **wpіywow№**, jeњli dla niej $D_i > 1$.
  251.  
  252. Podczas analizy modelu liniowego interesuje nas, czy zaleїnoњж pomiкdzy zmiennymi X i Y jest istotna. Formuіuj№c to pytanie w jкzyku modeli liniowych, otrzymujemy hipotezк zerow№ dotycz№c№ wspуіczynnika $\beta_1$:
  253. $$ H_0:\,\,\beta_1\,=\,0$$
  254. oraz hipotezк alternatywn№
  255. $$ H_1:\,\,\beta_1\,\neq\,0.$$
  256. Jeїeli w wyniku testowania za pomoc№ **t-testu** odrzucimy hipotezк zerow№ to oznacza, їe pomiedzy zmiennymi X i Y jest istotna zaleznoњж.
  257. Oprуcz testu **t** stosuje siк globalny test **F (Fiszera-Sendecora)**. Test ten weryfikuje nam rуwnoczeњnie trzy rуwnowaїne hipotezy zerowe:
  258. $$ H_0:\,\,\beta_1\,=\,0 \,-\quad  istotnoњж\,\,wspуіczynnika\,\,kierunkowego$$
  259. $$ H_0:\,\,R^2\,=\,0\,- \quad istotnoњж\,\,wspуіczynnika\,\,R^2,$$
  260. $$ H_0:\,\,y=\beta_1x+\beta_0\,-\quad istotnoњж\,\,liniowego\,\,zwi№zku.$$
  261. Przy weryfikacji **F testem** wykorzystuje siк nastepuj№c№ statystykк
  262. $$F=\dfrac{WSK \cdot(n-2)}{RSK}.$$
  263.  
  264.  
  265.  
  266. Poniїsze polecenie pozwala przedstawiж dane wraz z dopasowan№ lini№ regresji:
  267.  
  268. ```{r}
  269. attach(faithful)
  270. plot(waiting,eruptions)
  271. abline(eruptions.lm)
  272. ```
  273.  
  274.  
  275.  
  276. Z poniїej przedstawionymi modelami jest coњ nie tak.
  277.  
  278. ```{r}
  279. mod2=lm(y2~x2,anscombe)
  280. plot(y2~x2,anscombe)
  281. abline(mod2)
  282. summary(mod1)
  283. print(plot(mod2, which=1:6))
  284. ```
  285.  
  286. W tym przypadku ewidentnie lepszym rozwiazaniem byіby model kwadratowy.
  287.  
  288. ```{r}
  289. mod3=lm(y3~x3,anscombe)
  290. plot(y3~x3,anscombe)
  291. abline(mod3)
  292. summary(mod3)
  293. print(plot(mod3, which=1:6))
  294. ```
  295.  
  296. W tym przypadku jedna obserwacja jest odstajaca i zaburza oceny modelu.
  297.  
  298. ```{r}
  299. mod4=lm(y4~x4,anscombe)
  300. plot(y4~x4,anscombe)
  301. abline(mod4)
  302. summary(mod4)
  303. print(plot(mod4, which=1:6))
  304. ```
  305.  
  306. W tym przypadku trend liniowy zostaі wygenerowany przez jedn№ obserwacjк i nie ma nic wspуlnego z liniow№ zaleїnoњci№ zmiennych.
  307.  
  308. #### Rysowanie krzywej regresji i przedziaіu ufnoњci dla wartoњci przewidywanych przez model
  309.  
  310. ```{r}
  311. library(faraway)
  312. data(corrosion)
  313. head(corrosion)
  314. attach(corrosion)
  315. model3=lm(loss~Fe,data=corrosion)
  316. grid=seq(0,3,by=0.1)
  317. p=predict.lm(model3,data.frame(Fe=grid),se=TRUE)
  318. q=qt(0.975,11)
  319. matplot(grid,cbind(p$fit, p$fit-q*p$se, p$fit+q*p$se), type="l",lty=c(1,2,2),
  320.         xlab="Iron Content", ylab="loss")
  321. rug(Fe)
  322. points(Fe,loss)
  323. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement