Wnioskowanie Statystyczne

Ogrodnik eksperymentuje z nowym gatunkiem drzew. Posadził 20 sztuk i po dwóch latach zmierzył następujące średnice pni (w cm): 8.5, 7.6, 9.3, 5.5, 11.4, 6.9, 6.5, 12.9, 8.7, 4.8, 4.2, 8.1, 6.5, 5.8, 6.7, 2.4, 11.1, 7.1, 8.8, 7.2

import scipy.stats as st
import numpy as np
import pylab as py

def randsample(x,ile):
        ind = st.randint.rvs(0,len(x),size = ile)
        y = x[ind]
        return y

def hist_z_przedzialem(x,hi,lo):
        szer_binu = (hi-lo)/10
        biny = np.arange(lo-10*szer_binu, hi+10*szer_binu, szer_binu)
        (n,bin_x,patch) = py.hist(x,bins = biny )
        py.plot([lo, lo] , [0, np.max(n)] ,'r' )
        py.plot([hi,hi],[0, np.max(n)],'r')
        
X=np.array([8.5, 7.6, 9.3, 5.5, 11.4, 6.9, 6.5, 12.9, 8.7, 4.8, 4.2, 8.1, 6.5, 5.8, 6.7, 2.4, 11.1, 7.1, 8.8, 7.2])
alfa = 0.1
Nboot=int(1e5)
N=len(X)

print("Średnia próbki",np.mean(X))
print("Mediana próbki",np.median(X))
print("Liczebność próbki",N)

Sr=np.empty(Nboot)
Med=np.empty(Nboot)
for i in range(Nboot):
        xb=randsample(X,N)
        Med[i]=np.median(xb)
        Sr[i]=np.mean(xb)
        
lo = st.scoreatpercentile(Sr, per = alfa/2*100)
hi = st.scoreatpercentile(Sr, per = (1-alfa/2)*100)
print('przedzial ufnosci dla średniej: %(lo).3f - %(hi).3f'%{'lo':lo,'hi':hi}) py.subplot(2,1,1)
hist_z_przedzialem(Sr,hi,lo)

lo = st.scoreatpercentile(Med, per = alfa/2*100)
hi = st.scoreatpercentile(Med, per = (1-alfa/2)*100)
print('przedzial ufnosci dla mediany: %(lo).3f - %(hi).3f'%{'lo':lo,'hi':hi}) py.subplot(2,1,2)
hist_z_przedzialem(Med,hi,lo)
py.show()