Advertisement
Guest User

Untitled

a guest
Jan 20th, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.35 KB | None | 0 0
  1. ##esercizio 0
  2. #0 se non piove, 1 se piove per la var Xi,
  3. #prove indipendenti
  4. #p è la probabilità che piova o meno ed è tra 0 e 1
  5.  
  6. #1. Scrivere in funzione di p la plegge di probabilità di Xi per un generico i
  7. #Dato che chiede di UN generico i, do la definiizone di legge di probabilità della singola osservazione
  8. #quindi dato che ogni osservazione è una bernoulliana, fx(i)=p(1-p)
  9.  
  10. #2. indicando rispettivamente E1, E2 gli eventi "piove in almeno un giorno infrasettimanale"
  11. #e "non piove nel fine settimana"
  12. #foglio
  13.  
  14. #3. gli eventi E1, e2 sono indipendenti? Sono anche mutualmente esclusivi?
  15. #si sono indipendenti, perchè gli eventi sono indipendenti tra loro data l'ipotersi che
  16. #le condizioni metereologiche di un giorno non influenziano le condizioni meteo dei giorni rimanenti
  17. #Non possono considerare la mutua esclusione, dato che questa prevede che il verificarsi di uno, impedisca il verificarsi dell'altro
  18. #Quindi se E1 ha una probabilità p, E2 deve avere una probabilità==0
  19.  
  20. #4. sapendo p=0.4, calcola la probabilità di
  21. #E1, E2, E3=piove almeno in un giorno infrasettimanale, ma non durante il finesettiman"
  22. #E4="piove almeno in un giorno infrasettimanale OPPURE non piove nel fine settimana"
  23. p=0.4
  24. E1=1-(pbinom(0,5,p));E1
  25. E2=1-(pbinom(0,2,(1-p))); E2
  26. pbinom(2,2,p)
  27. E3=E1*E2; E3
  28. E4=E1+E2-E3; E4
  29.  
  30. ##esercizio 1
  31. #Indichiamo B la var aleatoria che conta il numero di giornate piovese in una settimana
  32. #1. Punti di massa di B?
  33. #i punti di massa sono i valori da 0 a 7 compresi gli estremi
  34.  
  35. #2. scruvere in funzione di p la legge di probabilità di B
  36. #uso la funzione di massa di probabilità della binomiale foglio
  37.  
  38. #3. sono sufficienti 7 giorni di osservazioni per poter affermare che è maggiore di 0.4 la probabilità
  39. #di compiere nella stima p un errore invferiore a 0.25 (si ricordi p(1-p) non può mai superare il valore di 1/4)
  40. #usare chebyshev perchè n è finito e non tendente a infinito
  41.  
  42. ##esercizio 2
  43. #inserire il dataframe
  44. dir()
  45. dd=read.delim(file="simulazione.csv", header=TRUE, sep=";")
  46. attach(dd)
  47. str(dd)
  48. #1. quante centraline ci sono in lombardia:
  49. #considerando che ogni riga è una centralina e tutte le province sono lombarde, mi basta contare
  50. #il numero di righe
  51. numeroCentraline=nrow(dd); numeroCentraline
  52. m=nrow(dd)
  53. #2. come sono distribuite le centraline nelle diverse province della lombardia
  54. barplot(table(PROVINCIA))
  55. #si nota il picco di centraline (circa 35) nella provincia di milano
  56.  
  57. #3. Quale provincia è meno rappresentata? Qual è la pià rappresentata? Como è la meno rappresentaa (meno di 5 centraline)
  58. #invece milano è la più rappresentata (35 centraline)
  59.  
  60. #4. calcolare l'indice di eterogeneità per il carattere PROVINCIA e commentare il risultato ottenuto
  61. gini=sum(prop.table(table(PROVINCIA))^2)*(m/(m-1))
  62.  
  63. #5. per ciascuno di essi, indicare in tabella1 medianda dev standard e distanza interquartile tra i 3 param
  64. mean(C6H6, na.rm=TRUE)
  65. mean(SO2, na.rm=TRUE)
  66. mean(CO, na.rm=TRUE)
  67. median(C6H6, na.rm=TRUE)
  68. median(SO2, na.rm=TRUE)
  69. median(CO, na.rm=TRUE)
  70. sd(C6H6, na.rm=TRUE)
  71. sd(SO2, na.rm=TRUE)
  72. sd(CO, na.rm=TRUE)
  73. IQR(C6H6, na.rm=TRUE)
  74. IQR(SO2, na.rm=TRUE)
  75. IQR(CO, na.rm=TRUE)
  76. help(plot)
  77.  
  78. #6. mettere a confronto i 3 inquinanti con l'opportuna modalità grafica commentando il grafico ottenuto
  79. x=c(0,8)
  80. y=c(0,15)
  81. plot(table(C6H6), type="b", xlim=x, ylim=y)
  82. par(new=TRUE)
  83. plot(table(SO2), type="b", xlim=x, col="green", ylim=y)
  84. par(new=TRUE)
  85. plot(table(CO), type="b", xlim=x, col="red", ylim=y)
  86. #C6H6 -> si hanno poche rilevazioni e di queste, è stato registrato in più centraline un valore di 0.9
  87. #il valore massimo raggiunto è 4, ma in una sola centralina
  88. #SO2 -> in molte centraline è stato rilevato il valore 3, ha raggiunto il picco a 8 in una sola centralina
  89. #CO -> in tantissime centraline(13) è stato registrato un valore di 0.5, ma il picco massimo è di 1.3 in una centralina
  90.  
  91. #Fagli elementi cadmio e bezoapirene abbiamo perso i dati, ma ci sono rimasti i grafici
  92. #della funzione cumulativa empirica e della freqeuza relativa
  93. #7. Completare la figura con le corrispondeze appropriate
  94. #il primo ecdf è sicuramente il cadmio, perchè ho un grande salto iniziale, poi un piccolo salto
  95. #un altro salto più piccolo del primo, ma sempre grande, infine salti di dimensione decrescente.
  96. #
  97. #nel secondo ecdf è sicuramente il benzoapirene, perchè si verifica un salto molto piccolo, seguito da uno grande,
  98. #poi un'altro grande, ma minore del primo, uno piccolo, mancanza di osservazioni, poi altri 2 piccoli salti
  99.  
  100. #Consideriamo la concentrazione di ozono O3:
  101. #8. calcolare la tabella dell frequnze relative della concentrazione annuale
  102. str(dd)
  103. prop.table(table(O3))
  104.  
  105. #9. Tracciare il grafico della funzione cumulativa empirica di O3
  106. plot(prop.table(table(O3)))
  107. plot(ecdf(O3))
  108. #la ecdf rispetta il grfico delle frequenze empiriche
  109.  
  110. #10. quante centraline hanno registrato una concentrazione uguale a 46 mg/mcubo di O3?
  111. d1=subset(dd,O3==46)
  112. sum(d1[,c("O3")])/46 #4 centraline hanno rilevato 46 di O3, nrow restituisce null, nvm
  113. nrow(d1) #4 uguale
  114.  
  115. #oppure
  116. d1=O3[O3==46 & !is.na(O3)]
  117. length(d1)
  118.  
  119. #11. quante centraline hanno registrato una concentrazione compresa tra 45 e 50 mg/mcubo compresi gli estremi di O3?
  120. d2=subset(dd,O3>44 & O3<51)
  121. nrow(d2) #25 osservazioni/centraline hanno rilevato una concnetrazione compresa tra 45 e 50 di O3
  122.  
  123. #12. Indicar quali valori di O3 sono "particolarmente elevati risptto agli altri, motivando con un grafico
  124. boxplot(O3)
  125. #per la provincia di lecco c'è una osservazione >90, precisamente 93, l'unico oulier presente
  126. #si può ipotizzare un errore di battitura o un errore di inserimento. In ogni caso quella osservazione supera
  127. #di gran lunga il range interquartile "superiore" del boxplot
  128.  
  129. #Consideriamo la variabile casuale X="numero di giorni in un anno nei quali viene superata la sogli di tolleranza di O3"
  130. #abbiamo a disposizione un campione csuale X1,..,Xn di taglia n=150 estratto dalla popolazione X (la centralina i-esima
  131. #è la variabile Xi) e memorizzato nel file scaricato
  132. #13. si fornica una stima del valore atteso e della deviazione standard di X
  133. #prima guardo se la soglia segue una qualche legge
  134. str(dd)
  135. barplot(O3_GIORNI_SUPERAMENTO_TOLLERANZA)
  136. #è a campana, ma non sembra seguire una legge in particolare, stimo i due parametri indistintamente
  137. #stimo il valore atteso tramite lo stimatore Tn=media campionaria
  138.  
  139. e=mean(O3_GIORNI_SUPERAMENTO_TOLLERANZA, na.rm=TRUE); e #il valore atteso di giorni in cui si supera la tolleranza è di 11,20
  140. #stimo la varianza con lo stimatore Tn=varianza campionaria
  141. var=var(O3_GIORNI_SUPERAMENTO_TOLLERANZA, na.rm=TRUE); var
  142. help(var) #dato che per default su R la funzione var è la varianza campionaria, lo uso come stimatore
  143. sd(O3_GIORNI_SUPERAMENTO_TOLLERANZA, na.rm=TRUE)#FUNZIONA perchè usa la varianza campionaria
  144. sqrt(var)#della varianza stimata con la varianza campionaria, ci faccio la radice per ottenere la dev standard
  145.  
  146. #14. Ci sono buoni motivi per pensare che X segua la legge binomiale? Si giustifichi la risposta
  147. #e(x)=n*p
  148. #var(x)=n*p(1-p)
  149. #posso ricavare i p
  150. #p=e(x)/n
  151. p=e/150; p
  152. x=c(0,30)
  153. r=rbinom(150,150,p)
  154. qqplot(O3_GIORNI_SUPERAMENTO_TOLLERANZA,r, pch=20, xlim=x, ylim=x)
  155. par(new=TRUE)
  156. qqplot(r,r,col="red", pch=20, xlim=x, ylim=x) #non so fare la qqline per la binom :cccc
  157. #Non può seguire una legge binomiale, dato che la distribuzione è molto lontana dalla bisettrice
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement