Logo Zéphyrnet

Comprendre les intervalles de confiance avec Python

Date :

Cet article a été publié dans le cadre du Blogathon sur la science des données.

Table des matières

  1. Introduction
  2. Intervalles de confiance avec la statistique Z
  3. Interprétation des intervalles de confiance
  4. Hypothèses pour CI utilisant la statistique z
  5. Intervalles de confiance avec statistique t
  6. Hypothèses pour l'IC utilisant la statistique t
  7. Faire un intervalle t avec des données appariées
  8. Valeur z vs valeur t : quand utiliser quoi ?
  9. Intervalles de confiance avec python
  10. Note de fin

Introduction

Chaque fois que nous résolvons un problème statistique, nous sommes préoccupés par l'estimation des paramètres de la population, mais le plus souvent, il est presque impossible de calculer les paramètres de la population. Ce que nous faisons à la place, c'est prélever des échantillons aléatoires de la population et calculer des statistiques d'échantillons en espérant approximer les paramètres de la population. Mais comment savoir si les échantillons sont de véritables représentants de la population ou dans quelle mesure ces statistiques d'échantillon s'écartent des paramètres de la population ? C'est là que les intervalles de confiance entrent en jeu. Alors, quels sont ces intervalles ? L'intervalle de confiance est une plage de valeurs allant au-dessus et en dessous des statistiques de l'échantillon ou nous pouvons également le définir comme la probabilité qu'une plage de valeurs autour de la statistique de l'échantillon contienne le vrai paramètre de population.

Intervalles de confiance avec la statistique Z

Avant d'approfondir le sujet, familiarisons-nous avec certaines terminologies statistiques.

population: C'est l'ensemble de tous les individus semblables. Par exemple la population d'une ville, les étudiants d'un collège, etc.

échantillon: C'est un petit ensemble d'individus semblables tirés de la population. De même, un échantillon aléatoire est un échantillon tiré au hasard dans la population.

paramètres: Moyenne(mu), écarts-types(sigma), proportion(p) issus de la population.

statistique: moyenne(x barre), écart type(S), proportions(p^) concernés par les échantillons.

Score Z: c'est la distance de tout point de données brutes sur une distribution normale à la moyenne normalisée par l'écart type. Donné par: x-mu/sigma

Très bien maintenant, nous sommes prêts à plonger profondément dans le concept d'intervalles de confiance. Pour une raison quelconque, je pense qu'il est bien préférable de comprendre les concepts à travers des exemples pertinents plutôt que des définitions mathématiques brutes. Alors, commençons.

supposons que vous viviez dans une ville de 100,000 100 habitants et qu'une élection approche à grands pas. En tant que sondeur, vous devez prévoir qui va gagner l'élection, soit le parti bleu, soit le parti jaune. Donc, vous voyez qu'il est presque impossible de collecter des informations sur l'ensemble de la population, vous choisissez donc au hasard 62 personnes. A la fin de l'enquête, vous avez constaté que 62% des personnes vont voter pour le jaune. Maintenant, la question est de savoir si nous devons conclure que le jaune va gagner avec une probabilité de victoire de 62 % ou si 58 % de la population entière votera pour le jaune ? Eh bien, la réponse est NON. Nous ne savons pas avec certitude à quelle distance notre estimation est du vrai paramètre, si nous prenons un autre échantillon, le résultat peut s'avérer être de 65% ou XNUMX%. Donc, ce que nous ferons à la place, c'est de trouver une plage de valeurs autour de notre statistique d'échantillon qui capturera très probablement la véritable proportion de la population. Ici, la proportion fait référence au pourcentage de

Intervalles de confiance avec Python

                                                                   l'image appartient à l'auteur

Maintenant, si nous prenons une centaine de ces échantillons et traçons la proportion d'échantillon de chaque échantillon, nous obtiendrons une distribution normale des proportions d'échantillonnage et la moyenne de la distribution sera la valeur la plus approximative de la proportion de la population. Et notre estimation pourrait se situer n'importe où sur la courbe de distribution. Conformément à la règle des 3 sigma, nous savons qu'environ 95 % des variables aléatoires se situent à moins de 2 écarts types de la moyenne de la distribution. On peut donc conclure que la probabilité que p^ est à moins de 2 écarts types de p est de 95 %. Ou nous pouvons également affirmer que la probabilité que p soit à moins de 2 écarts types en dessous et au-dessus de p^ est également de 95 %. Ces deux déclarations sont effectivement équivalentes. Ces deux points au-dessous et au-dessus du p^ sont nos intervalles de confiance.

Intervalles de confiance avec Python

                                                           l'image appartient à l'auteur

Si nous pouvons en quelque sorte trouver le sigma, nous pouvons calculer notre intervalle requis. Mais sigma ici est le paramètre de population et nous savons qu'il est souvent presque impossible à calculer, nous utiliserons donc à la place des statistiques d'échantillon, c'est-à-dire l'erreur standard. Ceci est donné comme

où p^= proportion d'échantillons, n=nombre d'échantillons

SE =√(0.62 . 0.38/100) = 0.05

donc, 2xSE = 0.1

L'intervalle de confiance pour nos données est (0.62-0.1,0.62+0.1) ou (0.52,0.72). Comme nous avons pris 2xSE, cela se traduit par un intervalle de confiance de 95 %.

Maintenant, la question est de savoir si nous voulons créer un intervalle de confiance à 92 % ? Dans l'exemple précédent, nous avons multiplié 2 par SE pour construire un intervalle de confiance à 95 %, ce 2 est le score z pour un intervalle de confiance à 95 % (la valeur exacte étant de 1.96) et cette valeur peut être trouvée à partir d'un tableau z. La valeur critique de z pour un intervalle de confiance à 92 % est de 1.75. Faire référence à this article pour une meilleure compréhension du z-score et du z-table.

L'intervalle est donné par : (p^ + z*.SE , p^-z*.SE).

Si au lieu de la proportion de l'échantillon, la moyenne de l'échantillon est donnée, l'erreur standard sera sigma/carré(n). Ici sigma est l'écart type de la population, car nous n'avons souvent pas, nous utilisons plutôt l'écart type de l'échantillon. Mais on observe souvent que ce type d'estimation où la moyenne est donnée au résultat a tendance à être un peu biaisé. Ainsi, dans des cas comme celui-ci, il est préférable d'utiliser la statistique t au lieu de la statistique z.

La formule générale d'un intervalle de confiance avec des statistiques z est donnée par

Ici, la statistique fait référence soit à la moyenne de l'échantillon, soit à la proportion de l'échantillon. sigmas sont l'écart-type de la population.

Interprétation des intervalles de confiance

Il est très important d'interpréter correctement les intervalles de confiance. Considérez l'exemple précédent du sondeur où nous avons calculé notre intervalle de confiance à 95 % comme étant (0.52,0.62, 95). Qu'est-ce que ça veut dire? Eh bien, un intervalle de confiance de 95 % signifie que si nous tirons n échantillons de la population, 95 % du temps, l'intervalle dérivé contiendra la véritable proportion de la population. N'oubliez pas qu'un intervalle de confiance de 95 % ne signifie pas qu'il existe une probabilité de 90 % que l'intervalle contienne la véritable proportion de la population. Par exemple, pour un intervalle de confiance de 10%, si nous tirons 9 échantillons d'une population, 10 fois sur XNUMX ledit intervalle contiendra le vrai paramètre de population. Regardez l'image ci-dessous pour une meilleure compréhension.

Interprétation de l'intervalle de confiance

                                                            l'image appartient à l'auteur

Hypothèses pour les intervalles de confiance utilisant la statistique Z

Il y a certaines hypothèses que nous devons rechercher pour construire un intervalle de confiance valide à l'aide de la statistique z.

  1. Échantillon aléatoire : Les échantillons doivent être aléatoires. Il existe différentes méthodes d'échantillonnage comme l'échantillonnage stratifié, l'échantillonnage aléatoire simple, l'échantillonnage en grappes pour obtenir des échantillons aléatoires.
  2. Condition normale : Les données doivent satisfaire cette condition np^>=10 et n.(1-p^)>=10. Cela signifie essentiellement que notre distribution d'échantillonnage des moyennes d'échantillon doit être normale, et non biaisée de part et d'autre.
  3. Indépendant : les échantillons doivent être indépendants. Le nombre d'échantillons doit être inférieur ou égal à 10 % de la population totale ou si l'échantillonnage est effectué avec remplacement.

Intervalles de confiance avec statistique T

Que se passe-t-il si la taille de l'échantillon est relativement petite et que l'écart-type de la population n'est pas donné ou ne peut pas être supposé ? Comment construit-on un intervalle de confiance ? eh bien, c'est là qu'intervient la statistique t. La formule de base pour trouver l'intervalle de confiance ici reste la même avec juste z* remplacé par t*. La formule générale est donnée par

où S = écart-type de l'échantillon, n = nombre d'échantillons

Supposons que vous organisiez une fête et que vous souhaitiez estimer la consommation moyenne de bière de vos invités. Ainsi, vous obtenez un échantillon aléatoire de 20 individus et mesurez la consommation de bière. Les données de l'échantillon sont symétriques avec une moyenne de 0 ml et un écart type de 1200 ml. Donc, maintenant, vous souhaitez construire un intervalle de confiance à 120 %.

Nous avons donc l'écart type de l'échantillon, le nombre d'échantillons et la moyenne de l'échantillon. Tout ce dont nous avons besoin, c'est de t*. Ainsi, t* pour un intervalle de confiance à 95 % avec un degré de liberté de 19(n-1 = 20-1) est de 2.093. Ainsi, notre intervalle requis est après le calcul est (1256.16, 1143.83) avec une marge d'erreur de 56.16. Faire référence à this vidéo pour savoir comment lire le t-table.

Hypothèses pour IC utilisant la statistique T

Semblable au cas de la statistique z ici, dans le cas de la statistique t également, il y a certaines conditions que nous devons rechercher dans des données données.

  1. L'échantillon doit être aléatoire
  2. L'échantillon doit être normal. Pour être normal, la taille de l'échantillon doit être supérieure ou égale à 30 ou si l'ensemble de données parent, c'est-à-dire la population, est à peu près normal. Ou si la taille de l'échantillon est inférieure à 30, la distribution doit être à peu près symétrique.
  3. Les observations individuelles doivent être indépendantes. Cela signifie qu'il suit la règle des 10 % ou que l'échantillonnage est effectué avec remplacement.

Création d'un intervalle T pour les données appariées

Jusqu'à présent, nous n'avons utilisé que des données d'un seul échantillon. Nous allons maintenant voir comment construire un intervalle t pour des données appariées. En données appariées, on fait deux observations sur le même individu. Par exemple, comparer les notes des élèves avant et après les tests ou les données sur l'effet d'un médicament et d'un placebo sur un groupe de personnes. En données appariées, nous avons trouvé la différence entre les deux observations dans la 3e colonne. Comme d'habitude, nous allons passer par un exemple pour comprendre ce concept également,

Q. Un enseignant a essayé d'évaluer l'effet d'un nouveau programme sur le résultat du test. Ci-dessous, les résultats des observations.

Intervalle T pour les données appariées

                                                      l'image appartient à l'auteur

Comme nous avons l'intention de trouver des intervalles pour la différence moyenne, nous n'avons besoin que des statistiques pour les différences. Nous utiliserons la même formule que nous avons utilisée auparavant

statistique +- (valeur critique ou valeur t) (écart type de la statistique)

xd = moyenne de la différence, Sd = écart type de l'échantillon, pour un IC à 95 % avec un degré de liberté de 5 t* est donné par 2.57. La marge d'erreur = 0.97 et l'intervalle de confiance (4.18,6.13, XNUMX).

Interprétation: D'après les estimations ci-dessus, comme nous pouvons le voir, l'intervalle de confiance ne contient pas de valeurs nulles ou négatives. Ainsi, nous pouvons conclure que le nouveau programme a eu un impact positif sur les performances des élèves aux tests. S'il n'avait que des valeurs négatives, on pourrait dire que le programme avait un impact négatif. Ou s'il contenait zéro, il pourrait y avoir une possibilité que la différence soit nulle ou qu'il n'y ait aucun effet du programme sur les résultats des tests.

Valeur Z vs valeur T

Il y a beaucoup de confusion au début sur quand utiliser quoi. La règle empirique est lorsque la taille de l'échantillon est >= 30 et que l'écart type de la population est connu pour utiliser les statistiques z. Si la taille de l'échantillon est < 30, utilisez les statistiques t. Dans la vraie vie, nous n'avons pas de paramètres de population, nous allons donc utiliser z ou t en fonction de la taille de l'échantillon.

Avec des échantillons plus petits (n <30), le théorème central de la limite ne s'applique pas et une autre distribution appelée distribution t de Student est utilisée. La distribution t est similaire à la distribution normale mais prend des formes différentes selon la taille de l'échantillon. Au lieu de valeurs z, des valeurs t sont utilisées qui sont plus grandes pour des échantillons plus petits, produisant une plus grande marge d'erreur. Comme un petit échantillon sera moins précis.

Intervalles de confiance avec Python

Python possède une vaste bibliothèque prenant en charge toutes sortes de calculs statistiques, ce qui nous facilite un peu la vie. Dans cette section, nous examinerons les données sur les habitudes de sommeil des tout-petits. Les 20 participants à ces observations étaient en bonne santé, se comportaient normalement, ne souffraient d'aucun trouble du sommeil. Notre objectif est d'analyser l'heure du coucher des tout-petits qui font ou non la sieste.

Référence : Akacem LD, Simpkin CT, Carskadon MA, Wright KP Jr, Jenni OG, Achermann P, et al. (2015) La synchronisation de l'horloge circadienne et du sommeil diffère entre les tout-petits qui font la sieste et ceux qui ne font pas la sieste. PLoS ONE 10(4) : e0125181. https://doi.org/10.1371/journal.pone.0125181

Nous importerons les bibliothèques dont nous aurons besoin

import numpy as np import pandas as pd from scipy.stats import t pd.set_option('display.max_columns', 30) # set so can see all columns of the DataFrame import math
df = pd.read_csv(nap_no_nap.csv) #lecture des données
df.head ()
Intervalles de confiance avec Python

Créez deux intervalles de confiance à 95 % pour l'heure moyenne du coucher, un pour les tout-petits qui font la sieste et un pour les tout-petits qui ne le font pas. Tout d'abord, nous allons isoler la colonne 'night bedtime' pour ceux qui font la sieste dans une nouvelle variable, et ceux qui n'ont pas fait de sieste dans une autre nouvelle variable. L'heure du coucher ici est décimalisée.

bedtime_nap = df['night bedtime'].loc[df['napping'] == 1] bedtime_no_nap = df['night bedtime'].loc[df['napping'] == 0]

print(len(heure du coucher_nap))

print(len(bedtime_no_nap))

sortie : 15 n 5


Maintenant, nous allons trouver l'exemple d'heure de coucher moyenne pour la sieste et pas de sieste.

nap_mean_bedtime = bedtime_nap.mean() #20.304 no_nap_mean_bedtime = bedtime_no_nap.mean() #19.59

Maintenant, nous allons trouver l'écart type de l'échantillon pour Xsomme et Xpas de sieste 

nap_s_bedtime = np.std(bedtime_nap,ddof=1) no_nap_s_bedtime = np.std(bedtime_no_nap,ddof=1)

Remarque : Le paramètre ddof est défini sur 1 pour l'échantillon std dev, sinon il deviendra la population std dev.

Maintenant, nous allons trouver l'exemple d'erreur standard pour Xsomme et Xpas de sieste 

nap_se_mean_bedtime = nap_s_bedtime/math.sqrt(len(bedtime_nap)) #0.1526 no_nap_se_mean_bedtime = no_nap_s_bedtime/math.sqrt(len(bedtime_no_nap)) #0.2270

Jusqu'ici tout va bien, maintenant que la taille de l'échantillon est petite et que nous n'avons pas d'écart type de la proportion de la population, nous utiliserons la valeur t*. Une façon de trouver la valeur t* consiste à utiliser scipy.stats t.ppf une fonction. Les arguments pour t.ppf() sont q = pourcentage, df = degré de liberté, échelle = std dev, loc = moyenne. Comme la distribution t est symétrique pour un intervalle de confiance à 95 %, q sera égal à 0.975. Reportez-vous à this pour plus d'informations sur t.ppf().

nap_t_star = t.ppf(0.975,df=14) #2.14 no_nap_t_star = t.ppf(0.975,df=5) #2.57

Maintenant, nous allons ajouter les pièces pour finalement construire notre intervalle de confiance.

nap_ci_plus = nap_mean_bedtime + nap_t_star*nap_se_bedtime

nap_ci_minus = nap_mean_bedtime – nap_t_star*nap_se_bedtime

imprimer(nap_ci_minus,nap_ci_plus)

no_nap_ci_plus = no_nap_mean_bedtime + no_nap_t_star*nap_se_bedtime

no_nap_ci_minus = no_nap_mean_bedtime – no_nap_t_star*nap_se_bedtime

imprimer(no_nap_ci_minus, no_nap_ci_plus)


sortie : 19.976680775477412 20.631319224522585 18.95974084563192 20.220259154368087

Interprétation: 

D'après les résultats ci-dessus, nous concluons que nous sommes sûrs à 95 % que l'heure moyenne du coucher pour les tout-petits qui font la sieste se situe entre 19.98 h 20.63 et 18.96 h 20.22 (pm), tandis que pour les tout-petits qui ne font pas de sieste, elle se situe entre XNUMX h XNUMX et XNUMX h XNUMX (pm). Ces résultats sont conformes à notre attente que si vous faites une sieste pendant la journée, vous dormirez tard dans la nuit.

Notes de fin

Il s'agissait donc d'intervalles de confiance simples utilisant les valeurs z et t. C'est en effet une notion importante à connaître dans le cas de toute étude statistique. Une excellente méthode statistique inférentielle pour estimer les paramètres de la population à partir de données d'échantillon. Les intervalles de confiance sont également liés aux tests d'hypothèse selon lesquels pour un IC à 95 %, vous laissez 5 % d'espace pour les anomalies. Si l'hypothèse nulle se situe dans l'intervalle de confiance, la valeur de p sera grande et nous ne pourrons pas rejeter la valeur nulle. Inversement, s'il tombe au-delà, nous aurons suffisamment de preuves pour rejeter null et accepter des hypothèses alternatives.

J'espère que vous avez aimé l'article et bonne année (:

Les médias présentés dans cet article n'appartiennent pas à Analytics Vidhya et sont utilisés à la discrétion de l'auteur.

Source : https://www.analyticsvidhya.com/blog/2022/01/understanding-confidence-intervals-with-python/

spot_img

Dernières informations

spot_img

Discutez avec nous

Salut! Comment puis-je t'aider?