Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Martinas Alex-Catalin I A1
- #I.1 Scrieti o functie (numita z test) care sa calculeze ¸si sa returneze valoarea
- # critica si scorul testului (parametrii functiei vor fi: tipul ipotezei
- #alternative, n, miu0, xn, alfa, sigma etc). Functia aceasta va fi utilizata apoi
- #la rezolvarea exercitiilor de mai jos.
- tip=0;
- medie_pop_disp_cunosc=function(alfa,medie.populatie,medie.esantion,n,sigma)
- {z.critic=qnorm(1-alfa)
- z.scor=(medie.esantion-medie.populatie)/(sigma/sqrt(n))
- if(tip==0)
- {
- print("Ipoteza este asimetrica la stanga!")
- if(z.scor<z.critic)
- print("Ipoteza nula este respinsa!")
- else
- print("Ipoteza nula poate fi respinsa, se accepta ipoteza nula!")
- }
- else
- {
- print("Ipoteza este asimetrica la stanga!")
- if(z.scor>z.critic)
- print("Ipoteza nula este respinsa!")
- else
- print("Ipoteza nula poate fi respinsa, se accepta ipoteza nula!")
- }
- print(z.critic)
- z.scor
- }
- medie_pop_disp_cunosc(0.05, 808, 812, 100, 50)
- #I.2
- #Dintr-o populatie normala cu dispersia sigma patrat = 144 se selecteaza 49 de
- #indivizi a caror medie este 88; sa se testeze ipoteza ca media populatiei
- #este mai mica decat 90.
- medie_pop_disp_cunosc=function(alfa,medie.populatie,medie.esantion,n,sigma)
- {
- z.critic=qnorm(1-alfa)
- z.scor=(medie.esantion-medie.populatie)/(sigma/sqrt(n))
- if(tip == 0)
- {
- print("Ipoteza este asimetrica la stanga!")
- if(z.scor<z.critic)
- print("Ipoteza nula este respinsa!")
- else
- print("Ipoteza nula poate fi respinsa, se accepta ipoteza nula!")
- }
- else
- {
- print("Ipoteza este asimetrica la stanga!")
- if(z.scor>z.critic)
- print("Ipoteza nula este respinsa!")
- else
- print("Ipoteza nula poate fi respinsa, se accepta ipoteza nula!")
- }
- print(z.critic)
- z.scor
- }
- medie_pop_disp_cunosc(0.05,90,88,49,sqrt(144))
- #I.3
- #Din experienta se stie ca rezultatele studentilor la un test de
- #matematica urmeaza o lege normala cu media 75 si dispersia 17. Catedra de
- #matematica doreste sa afle daca studentii din anul curent au un
- #comportament atipic. Media rezultatelor unui grup de 36 studenti este 85 de
- #puncte. Cu 1% nivel de semnificatie se poate trage concluzia ca studentii
- #din anul curent sunt atipici?
- medie_pop_disp_cunosc=function(alfa,medie.populatie,medie.esantion,n,sigma)
- {
- z.critic=qnorm(1-alfa)
- z.scor=(medie.esantion-medie.populatie)/(sigma/sqrt(n))
- if(tip==0)
- {
- print("Ipoteza este asimetrica la stanga!")
- if(z.scor<z.critic)
- print("Ipoteza nula este respinsa!")
- else
- print("Ipoteza nula poate fi respinsa, se accepta ipoteza nula!")
- }
- else
- {
- print("Ipoteza este asimetrica la stanga!")
- if(z.scor>z.critic)
- print("Ipoteza nula este respinsa!")
- else
- print("Ipoteza nula poate fi respinsa, se accepta ipoteza nula!")
- }
- print(z.critic)
- z.scor
- }
- medie_pop_disp_cunosc(0.01,85,75,36,17)
- #II.1 Scrieti doua functii (de tipul t test) care sa calculeze si sa returneze
- #valoarea critica si scorul testului t: una dintre functii va trebui sa citeasca
- #esantionul dintr-un fisier,iar cealalta va primi ca argumente tipul ipotezei
- #alternative, media de selectie, deviatia standard a esantionului etc.
- #Functiile acestea vor fi utilizate, dupa caz pentru rezolvarea exercitiilor de
- #mai jos.
- t_test1=function(file)
- {
- x=scan(file);
- return(x)
- }
- medie_pop_disp_nec=function(alfa,n,medie.populatie,medie.esantion,x,file)
- {
- if(length(x)==1)
- x=t_test1(file);
- s=sd(x);
- se=s/sqrt(n);
- t_score=(medie.esantion-medie.populatie)/se;
- if(tip==1)
- {
- t.critic=qt(alfa,n-1)
- if(t.scor<t.critic)
- print("Ipoteza nula este respinsa")
- else
- print("Ipoteza nula nu poate fi respinsa!")
- }
- else if(tip==1)
- {
- t.critic=qt(1-alfa,n-1);
- if(t.scor>t.critic)
- print("Ipoteza nula este respinsa")
- else
- print("Ipoteza nula nu poate fi respinsa!")
- }
- else
- {
- t.critic=qt(1-alfa/2,n-1)
- if(abs(t.scor)>abs(t.critic))
- print("Ipoteza nula este respinsa")
- else
- print("Ipoteza nula nu poate fi respinsa!")
- }
- }
- #III.2 80 dintre angajatii alesi aleator ai unei firme foarte mari au un salariu
- #mediu saptamanal de 160$ (deviatia standard a ıntregii populatii fiind 3.24$).
- #70 dintre angajatii unei alte firme au ˆın medie 155$ salariu pe saptamana
- #(deviatia standard a ıntregii populatii fiind 2.25$). Sa se testeze daca
- #salariul mediu saptamanal la cele doua firme difera semnificativ
- #(1% nivel de semnificatie).
- diferenta_mediilor_disp_cunosc=function(alfa,medie.esantion1,medie.esantion2,n1,n2,sigma1,sigma2)
- {
- m0=0
- sigma.combinat=sqrt(sigma1^2/n1+sigma2^2/n2)
- z.scor=(medie.esantion1-medie.esantion2-m0)/sigma.combinat
- if(medie.esantion1-medie.esantion2<m0)
- {
- print("Avem:Ipoteza asimetrica la stanga!")
- z.critic=qnorm(alfa,0,1);
- if(z.scor<z.critic)
- print("Ipoteza nula este respinsa!")
- else
- print("Ipoteza nula este acceptata!")
- }
- else if(medie.esantion1-medie.esantion2>m0)
- {
- print("Avem:Ipoteza asimetrica la dreapta!")
- z.critic=qnorm(1-alfa,0,1);
- if(z.scor>z.critic)
- print("Ipoteza nula este respinsa!")
- else
- print("Ipoteza nula este acceptata!")
- }
- else
- {
- print("Avem:Ipoteza simetrica!")
- z.critic=qnorm(1-alfa/2,0,1);
- if(abs(z.scor)>abs(z.critic))
- print("Ipoteza nula este respinsa!")
- else
- print("Ipoteza nula este acceptata!")
- }
- }
- diferenta_mediilor_disp_cunosc(0.01, 160, 155, 80, 70, 3.24, 2.25)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement