Cette fois, je voudrais continuer l'estimation de la la dernière fois . La dernière fois, nous avons estimé les points, alors jetez un œil si vous êtes intéressé.
Cette fois aussi, j'ai essayé d'estimer l'intervalle en utilisant l'ensemble de données Pokemon. Les données sont comme ci-dessous. Cette fois aussi, j'aimerais utiliser les données HP de ces données comme population pour estimer la section.
Tout d'abord, je voudrais trouver la moyenne et la dispersion des HP.
score = np.array(df['HP'])
mean = np.mean(score)
var = np.var(score)
print("Moyenne HP: {} ,Distribué: {} ".format(mean , var))
Moyenne HP: 69,25875, dispersion: 651,2042984374999 Je voudrais les analyser en tant que moyenne et variance de la population.
Cette fois, considérons le cas où les données HP mentionnées précédemment sont utilisées comme population, et la variance de la population est également connue, en supposant qu'elle suit une distribution normale.
Puisque nous supposons une distribution normale pour la population, la moyenne de l'échantillon $ \ bar {X} $ suit $ N (μ, σ ^ 2 / n) $. En d'autres termes, bien que la valeur estimée de la moyenne de l'échantillon soit la moyenne de la population μ, elle varie avec l'écart type $ \ sqrt {σ ^ 2 / n} $. L'écart type d'une telle estimation est appelé «erreur standard».
De plus, puisque la moyenne de l'échantillon $ \ bar {X} $ suit $ N (μ, σ ^ 2 / n) $, $ Z = (\ bar {X} -μ) / \ sqrt {σ ^ 2 / n} Il peut être standardisé avec $ et Z suit une distribution normale standard. Ce qui est bien dans cette standardisation, c'est l'intervalle de confiance Cela signifie que ce sera plus facile à calculer.
Premièrement, calculez la moyenne de la population / la variance de la population et la moyenne de l'échantillon / la variance de l'échantillon des données de l'échantillon. La taille de l'échantillon de cet échantillon est de 20.
np.random.seed(0)
n = 20
sample = np.random.choice(score , n)
p_mean = np.mean(score)
p_var = np.var(score)
s_mean = np.mean(sample)
s_var = np.var(sample , ddof = 1)
Population moyenne: 69,25875, dispersion de la population: 651,2042984374999 Moyenne de l'échantillon: 68,8, variance de l'échantillon (variance sans biais): 451,26000000000005
Cette fois, j'aimerais utiliser cette moyenne d'échantillon pour calculer l'intervalle de confiance de la moyenne de la population. (Supposons que vous connaissiez la variance de la population.)
Envisagez de trouver un intervalle de confiance de 95% entre la moyenne de l'échantillon et la moyenne de la population. Premièrement, la standardisation de la moyenne de l'échantillon $ \ bar {X} $ donne $ Z = (\ bar {X} -μ) / \ sqrt {σ ^ 2 / n} $. Considérons donc d'abord l'intervalle de confiance à 95% de $ Z $.
Puis
Par conséquent, pour trouver l'intervalle de confiance à 95% lorsque la variance de la population est connue,
J'ai essayé de le mettre en œuvre.
rv = stats.norm()
#rv.isf(0.025)A une probabilité de distribution normale standard de 0.Il représente le point 025. Multipliez-le par l'erreur standard.
lcl = s_mean - rv.isf(0.025) * np.sqrt(p_var/n)
ucl = s_mean - rv.isf(0.975) * np.sqrt(p_var/n)
lcl , ucl
(57.616, 79.984)
D'après ce qui précède, il a été constaté que l'intervalle de confiance à 95% de la moyenne de la population est (57,616, 79,984). Comme la moyenne de population obtenue précédemment était de 69,25875, nous pouvons voir que la moyenne de la population est incluse dans l'intervalle de confiance.
Cet intervalle de confiance est échantillonné plusieurs fois de la même manière, et lorsque l'estimation d'intervalle est effectuée, 95% de l'estimation d'intervalle comprend la moyenne de la population. Dans une forme mâchée, lorsque l'intervalle est estimé 100 fois, l'intervalle de confiance comprenant la moyenne de la population est obtenu 95 fois, mais l'intervalle de confiance obtenu 5 fois n'inclut pas la moyenne de la population. ..
Nous évaluerons l'intervalle de la variance de la population. Considérons le cas où une distribution normale est supposée pour la population et où la moyenne de la population n'est pas connue.
Tout comme nous avons standardisé lors du calcul de l'intervalle de confiance de la moyenne de la population et l'avons converti en une variable de probabilité qui suit la distribution normale standard, nous avons également effectué une conversion vers la variance sans biais $ s ^ 2 $ pour créer une variable de probabilité qui suit une distribution de probabilité typique. besoin de le faire. La distribution de probabilité utilisée à ce moment est la distribution du chi carré. On sait que cette variable Y suit une distribution du chi carré avec n-1 degrés de liberté en convertissant la variance non biaisée $ s ^ 2 $ en $ Y = (n-1) s ^ 2 / σ ^ 2 $. Je vais.
Maintenant, j'aimerais trouver l'intervalle de confiance de la variance de la population. Tout d'abord, trouvez l'intervalle de confiance à 95% pour $ \ chi {} ^ 2 (n-1) $.
Puisque nous voulons trouver l'intervalle de confiance de la variance de la population cette fois, assurez-vous que $ σ ^ 2 $ est au milieu.
À partir de là, l'intervalle de confiance à 95% de la variance de la population $ σ ^ 2 $ est
Sera.
rv = stats.chi2(df=n-1)
lcl = (n-1) * s_var / rv.isf(0.025)
hcl = (n-1) * s_var / rv.isf(0.975)
lcl , hcl
(260.984, 962.659)
L'intervalle de confiance pour la variance de la population est (260,984, 962,659). Comme la variance de la population était de 651,204, on peut voir qu'elle est incluse dans l'intervalle.
J'ai procédé à l'analyse dans la situation où la variance de la population était connue lors du calcul de l'intervalle de confiance de la moyenne de la population. Cependant, il n'y a pas beaucoup de situations dans lesquelles la moyenne de la population n'est pas connue et la variance de la population est connue. Par conséquent, cette fois, j'aimerais estimer l'intervalle de confiance de la moyenne de la population lorsque la variance de la population est inconnue.
Lorsque la variance de la population était connue, l'intervalle était estimé par l'erreur standard $ \ sqrt {σ ^ 2 / n} $ de la moyenne de l'échantillon $ \ bar {X} $. Puisque nous ne connaissons pas cette variance de population $ σ ^ 2 $ cette fois, nous substituerons $ \ sqrt {s ^ 2 / n} $, qui utilise la variance non biaisée estimée $ s ^ 2 $, comme erreur standard. ..
Tout d'abord, transformez la moyenne de l'échantillon $ \ bar {X} $ en utilisant $ \ sqrt {s ^ 2 / n} $, comme vous le feriez lorsque vous connaissez la variance de la population.
Ce $ t $ est
Si vous convertissez en utilisant ces deux,
Il peut être représenté par. On voit donc que ce $ t $ suit une distribution t avec n-1 degrés de liberté.
Maintenant que $ t = (\ bar {X} --μ) / \ sqrt {s ^ 2 / n} $ se trouve suivre une distribution t avec n-1 degrés de liberté, d'où l'intervalle de confiance à 95% de la moyenne Je vais demander.
Transformez cette équation pour que la moyenne de la population μ soit au milieu.
En conséquence, l'intervalle de confiance à 95% de la moyenne de la population est
Ce sera.
rv = stats.t(df=n-1)
lcl = s_mean - rv.isf(0.025) * np.sqrt(s_var/n)
ucl = s_mean - rv.isf(0.975) * np.sqrt(s_var/n)
lcl , ucl
(58.858, 78.742)
L'intervalle de confiance à 95% pour la moyenne de la population était (57,616, 79,984). Comme la moyenne de population obtenue précédemment était de 69,25875, nous pouvons voir que la moyenne de la population est incluse dans l'intervalle de confiance.
Cette fois, j'ai essayé d'estimer la section. J'ai pensé que ce serait bien de bouger vos mains et de produire parce que vous pouvez approfondir votre compréhension en déplaçant réellement vos mains et en l'implémentant!
Matériel de référence
Bases de l'analyse statistique comprises par python
Recommended Posts