Zrozumienie przedziałów ufności w Pythonie

Węzeł źródłowy: 1883080

Ten artykuł został opublikowany jako część Blogathon Data Science.

Spis treści

  1. Wprowadzenie
  2. Przedziały ufności ze statystyką Z
  3. Interpretowanie przedziałów ufności
  4. Założenia dla CI przy użyciu statystyki z
  5. Przedziały ufności ze statystyką t
  6. Założenia dla CI przy użyciu statystyki t
  7. Wykonywanie interwału t ze sparowanymi danymi
  8. Wartość z vs wartość t: kiedy używać czego?
  9. Przedziały ufności w Pythonie
  10. Uwaga końcowa

Wprowadzenie

Ilekroć rozwiązujemy problem statystyczny, obawiamy się oszacowania parametrów populacji, ale najczęściej jest to prawie niemożliwe obliczenie parametrów populacji. Zamiast tego bierzemy losowe próbki z populacji i obliczamy statystyki próbek, spodziewając się przybliżenia parametrów populacji. Ale skąd wiemy, czy próbki są prawdziwymi przedstawicielami populacji lub jak bardzo te statystyki próbek odbiegają od parametrów populacji? W tym miejscu pojawiają się przedziały ufności. Czym więc są te interwały? Przedział ufności to zakres wartości w zakresie powyżej i poniżej statystyki próbki lub możemy go również zdefiniować jako prawdopodobieństwo, że zakres wartości wokół statystyki próbki zawiera prawdziwy parametr populacji.

Przedziały ufności ze statystyką Z

Zanim zagłębimy się w temat, zapoznajmy się z kilkoma terminologiami statystycznymi.

populacja: To zbiór wszystkich podobnych osobników. Na przykład ludność miasta, studenci uczelni itp.

próba: Jest to mały zestaw podobnych osobników wylosowanych z populacji. Podobnie próba losowa to próba losowo dobrana z populacji.

parametry: Średnia (mu), odchylenia standardowe (sigma), proporcja (p) pochodząca z populacji.

statystyczny: średnia (x bar), odchylenie standardowe (S), proporcje (p^) dotyczące próbek.

Wynik Z.: jest to odległość dowolnego punktu surowych danych w rozkładzie normalnym od średniej znormalizowanej przez odchylenie standardowe. Podane przez: x-mu/sigma

W porządku, teraz jesteśmy gotowi, aby zagłębić się w koncepcję przedziałów ufności. Z jakiegoś powodu uważam, że znacznie lepiej jest rozumieć pojęcia za pomocą powiązanych przykładów niż surowych definicji matematycznych. Więc zacznijmy.

załóżmy, że mieszkasz w 100,000-tysięcznym mieście, a wybory są tuż za rogiem. Jako ankieter musisz przewidzieć, kto wygra wybory, czy to partia niebieska, czy żółta. Widzisz więc, że zebranie informacji od całej populacji jest prawie niemożliwe, więc losowo wybierasz 100 osób. Pod koniec ankiety okazało się, że 62% ludzi będzie głosować na kolor żółty. Teraz pytanie brzmi, czy powinniśmy dojść do wniosku, że żółty wygra z prawdopodobieństwem wygranej wynoszącym 62%, czy 62% całej populacji będzie głosować na żółty? Cóż, odpowiedź brzmi NIE. Nie wiemy na pewno, jak daleko nasze oszacowanie odbiega od rzeczywistego parametru, jeśli weźmiemy kolejną próbkę, wynik może wynieść 58% lub 65%. Zamiast tego, zamiast tego znajdziemy zakres wartości wokół naszej statystyki próbki, który najprawdopodobniej uchwyci prawdziwy odsetek populacji. Tutaj proporcja odnosi się do procentu

Przedziały ufności w Pythonie

                                                                   obraz należy do autora

Teraz, jeśli weźmiemy sto takich próbek i wykreślimy proporcje każdej próbki, otrzymamy rozkład normalny proporcji próbkowania, a średnia z rozkładu będzie najbardziej przybliżoną wartością proporcji populacji. A nasze oszacowanie może leżeć w dowolnym miejscu na krzywej rozkładu. Zgodnie z regułą 3-sigma wiemy, że około 95% zmiennych losowych znajduje się w 2 odchyleniach od średniej rozkładu. Możemy więc stwierdzić, że prawdopodobieństwo, że p^ mieści się w 2 odchyleniach od p wynosi 95%. Albo możemy również stwierdzić, że prawdopodobieństwo, że p mieści się w granicach 2 odchyleń poniżej i powyżej p^, również wynosi 95%. Te dwa stwierdzenia są w rzeczywistości równoważne. Te dwa punkty poniżej i powyżej p^ to nasze przedziały ufności.

Przedziały ufności w Pythonie

                                                           obraz należy do autora

Jeśli możemy jakoś znaleźć sigma, możemy obliczyć wymagany przedział. Ale sigma jest tutaj parametrem populacji i wiemy, że często jest to prawie niemożliwe do obliczenia, więc zamiast tego użyjemy statystyk przykładowych, tj. Błąd standardowy. Jest to podane jako

gdzie p^= proporcja próbki, n=liczba próbek

SE =√(0.62/0.38) = 100

więc 2xSE = 0.1

Przedział ufności dla naszych danych to (0.62-0.1,0.62+0.1) lub (0.52,0.72). Ponieważ przyjęliśmy 2xSE, przekłada się to na 95% przedział ufności.

Teraz pytanie brzmi, co jeśli chcemy stworzyć 92% przedział ufności? W poprzednim przykładzie pomnożyliśmy 2 przez SE, aby skonstruować 95% przedział ufności, to 2 to wynik z dla 95% przedziału ufności (dokładna wartość to 1.96) i tę wartość można znaleźć w tabeli z. Wartość krytyczna z dla 92% przedziału ufności wynosi 1.75. Odnosić się do to artykuł dla lepszego zrozumienia z-score i z-table.

Przedział jest określony wzorem: (p^ + z*.SE , p^-z*.SE).

Jeżeli zamiast proporcji próbki podana jest średnia próbki, błąd standardowy wyniesie sigma/kwadrat(n). Tutaj sigma jest odchylenie standardowe populacji, ponieważ często nie mamy, zamiast tego używamy odchylenia standardowego próbki. Jednak często obserwuje się, że tego rodzaju oszacowanie, w którym podaje się średnią, jest nieco stronnicze. Dlatego w takich przypadkach lepiej jest używać statystyki t zamiast statystyki z.

Ogólny wzór na przedział ufności ze statystyką z jest podany przez

Tutaj statystyka odnosi się do średniej próbki lub proporcji próbki. sigmas to odchylenie standardowe populacji.

Interpretowanie przedziałów ufności

Bardzo ważne jest prawidłowe zinterpretowanie przedziałów ufności. Rozważmy poprzedni przykład ankietera, w którym obliczyliśmy nasz 95% przedział ufności na (0.52,0.62, 95). Co to znaczy? Cóż, 95% przedział ufności oznacza, że ​​jeśli wylosujemy n próbek z populacji, to 95% czasu wyprowadzony przedział będzie zawierał prawdziwy odsetek populacji. Pamiętaj, że 95% przedział ufności nie oznacza, że ​​istnieje 90% prawdopodobieństwo, że przedział zawiera prawdziwy odsetek populacji. Na przykład, dla 10% przedziału ufności, jeśli pobierzemy 9 próbek z populacji, to 10 na XNUMX krotności wspomnianego przedziału będzie zawierało prawdziwy parametr populacji. Spójrz na poniższy obrazek, aby lepiej zrozumieć.

Interpretacja przedziału ufności

                                                            obraz należy do autora

Założenia dla przedziałów ufności przy użyciu statystyki Z

Istnieją pewne założenia, których musimy szukać, aby skonstruować prawidłowy przedział ufności przy użyciu statystyki z.

  1. Próbka losowa: Próbki muszą być losowe. Istnieją różne metody próbkowania, takie jak próbkowanie warstwowe, proste próbkowanie losowe, próbkowanie klastrowe w celu uzyskania próbek losowych.
  2. Warunek normalny: dane muszą spełniać ten warunek np^>=10 i n.(1-p^)>=10. Zasadniczo oznacza to, że nasz rozkład próbkowania średnich próbek musi być normalny, a nie przekrzywiony z żadnej strony.
  3. Niezależność: Próbki muszą być niezależne. Liczba próbek musi być mniejsza lub równa 10% całkowitej populacji lub jeśli pobieranie próbek odbywa się z wymianą.

Przedziały ufności ze statystyką T

Co się stanie, jeśli wielkość próby jest stosunkowo mała i nie podano odchylenia standardowego populacji lub nie można go założyć? Jak skonstruować przedział ufności? cóż, tutaj pojawia się statystyka t. Podstawowy wzór na znalezienie przedziału ufności tutaj pozostaje taki sam, z tylko z* zastąpionym przez t*. Ogólny wzór wyraża się wzorem

gdzie S = odchylenie standardowe próbki, n = liczba próbek

Załóżmy, że zorganizowałeś przyjęcie i chcesz oszacować średnie spożycie piwa przez Twoich gości. Otrzymujesz więc losową próbkę 20 osób i mierzysz spożycie piwa. Dane próbki są symetryczne ze średnią 0f 1200 ml i odchyleniem standardowym 120 ml. Więc teraz chcesz skonstruować 95% przedział ufności.

Mamy więc odchylenie standardowe próbki, liczbę próbek i średnią próbki. Wszystko czego potrzebujemy to t*. Zatem t* dla 95% przedziału ufności przy stopniu swobody 19 (n-1 = 20-1) wynosi 2.093. Zatem nasz wymagany przedział jest po obliczeniu (1256.16, 1143.83) z marginesem błędu 56.16. Odnosić się do to wideo, aby dowiedzieć się, jak czytać tabelę t.

Założenia dla CI z wykorzystaniem statystyki T

Podobnie jak w przypadku statystyki z tutaj, w przypadku statystyki t również istnieją pewne warunki, na które musimy zwrócić uwagę w danych danych.

  1. Próbka musi być losowa
  2. Próbka musi być normalna. Aby była normalna, wielkość próby powinna być większa lub równa 30 lub jeśli nadrzędny zbiór danych, tj. populacja, jest z grubsza normalna. Lub jeśli wielkość próbki jest mniejsza niż 30, rozkład musi być mniej więcej symetryczny.
  3. Poszczególne obserwacje muszą być niezależne. Oznacza to, że jest zgodny z zasadą 10% lub pobieranie próbek odbywa się z wymianą.

Wykonywanie interwału T dla sparowanych danych

Do tej pory korzystaliśmy tylko z danych z jednej próbki. Teraz zobaczymy, jak możemy skonstruować przedział t dla sparowanych danych. W sparowanych danych dokonujemy dwóch obserwacji tego samego osobnika. Na przykład porównanie ocen uczniów przed i po teście lub danych dotyczących wpływu leku i placebo na grupę osób. W sparowanych danych znaleźliśmy różnicę między dwiema obserwacjami w trzeciej kolumnie. Jak zwykle przejdziemy przez przykład, aby zrozumieć również tę koncepcję,

P. Nauczyciel próbował ocenić wpływ nowego programu nauczania na wynik testu. Poniżej znajdują się wyniki obserwacji.

Interwał T dla sparowanych danych

                                                      obraz należy do autora

Ponieważ zamierzamy znaleźć przedziały dla średniej różnicy, potrzebujemy tylko statystyki dla różnic. Użyjemy tej samej formuły, której używaliśmy wcześniej

statystyka +- (wartość krytyczna lub wartość t) (odchylenie standardowe statystyki)

xd = średnia różnicy, Sd = odchylenie standardowe próbki, dla 95% CI przy stopniu swobody 5 t* wynosi 2.57. Margines błędu = 0.97 i przedział ufności (4.18,6.13).

Interpretacja: Z powyższych szacunków, jak widać, przedział ufności nie zawiera wartości zerowych ani ujemnych. Możemy więc stwierdzić, że nowy program nauczania miał pozytywny wpływ na wyniki testów uczniów. Gdyby miał tylko wartości negatywne, moglibyśmy powiedzieć, że program nauczania miał negatywny wpływ. Lub jeśli zawiera zero, to może istnieć możliwość, że różnica wynosi zero lub nie ma żadnego wpływu programu nauczania na wyniki testów.

Wartość Z a wartość T

Na początku jest dużo zamieszania co do tego, kiedy używać czego. Zasadą praktyczną jest sytuacja, gdy wielkość próby wynosi >= 30, a odchylenie standardowe populacji jest znane z używania statystyki Z. W przypadku, gdy wielkość próby jest < 30, użyj statystyki t. W rzeczywistości nie mamy parametrów populacji, więc zastosujemy z lub t na podstawie wielkości próby.

W przypadku mniejszych próbek (n<30) centralne twierdzenie limitujące nie ma zastosowania i używany jest inny rozkład zwany rozkładem t-Studenta. Rozkład t jest podobny do rozkładu normalnego, ale przybiera różne kształty w zależności od wielkości próbki. Zamiast wartości z stosuje się wartości t, które są większe dla mniejszych próbek, co daje większy margines błędu. Jako mały rozmiar próbki będzie mniej precyzyjny.

Przedziały ufności w Pythonie

Python posiada obszerną bibliotekę obsługującą wszelkiego rodzaju obliczenia statystyczne, co ułatwia nam życie. W tej sekcji przyjrzymy się danym na temat nawyków snu małych dzieci. 20 uczestników tych obserwacji było zdrowych, normalnie zachowywanych, nie miało żadnych zaburzeń snu. Naszym celem jest analiza pory snu dzieci drzemiących i niedrzemiących.

Odniesienie: Akacem LD, Simpkin CT, Carskadon MA, Wright KP Jr, Jenni OG, Achermann P, et al. (2015) Czas zegara dobowego i snu różnią się między drzemiącymi i niedrzemiącymi maluchami. PLoS ONE 10(4): e0125181. https://doi.org/10.1371/journal.pone.0125181

Będziemy importować biblioteki, które będą nam potrzebne

importuj numpy jako np importuj pandy jako pd z scipy.stats import t pd.set_option('display.max_columns', 30) # ustaw, aby zobaczyć wszystkie kolumny DataFrame import matematyki
df = pd.read_csv(nap_no_nap.csv) #odczyt danych
df.głowa()
Przedziały ufności w Pythonie

Utwórz dwa 95% przedziały ufności dla średniej pory snu, jeden dla małych dzieci, które drzemią, a drugi dla tych, które tego nie robią. Najpierw wydzielimy kolumnę „nocna pora snu” dla tych, którzy drzemali przy nowej zmiennej, a tych, którzy nie drzemali przy innej nowej zmiennej. Pora snu jest tutaj po przecinku.

pora_drzemki = df['pora spania'].loc[df['drzemka'] == 1] pora_sypiania_no_drzemka = df['pora snu'].loc[df['drzemka'] == 0]

print(len(drzemka_snem))

print(len(pora snu_no_nap))

wyjście: 15 n 5


Teraz znajdziemy przykładową średnią porę snu dla drzemki i bez drzemki.

drzemka_średnia_pora spania = pora_spania_średnia_drzemka() #20.304 nie_średnia_drzemka_pora spania = pora_spania_nie_drzemka.średnia() #19.59

Teraz znajdziemy odchylenie standardowe próbki dla Xdrzemka i Xbez drzemki 

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

Uwaga: Parametr ddof jest ustawiony na 1 dla przykładowego std dev, w przeciwnym razie stanie się on populacją std dev.

Teraz znajdziemy przykładowy błąd standardowy dla Xdrzemka i Xbez drzemki 

nap_se_mean_time = nap_s_bedtime/math.sqrt(len(bedtime_nap)) #0.1526 no_nap_se_mean_time = no_nap_s_bedtime/math.sqrt(len(bedtime_no_nap)) #0.2270

Jak dotąd tak dobrze, teraz, gdy wielkość próby jest mała i nie mamy odchylenia standardowego proporcji populacji, użyjemy wartości t*. Jednym ze sposobów znalezienia wartości t* jest użycie scipy.stats t.ppf funkcjonować. Argumenty dla t.ppf() to q = procent, df = stopień swobody, skala = odchylenie standardowe, loc = średnia. Ponieważ rozkład t jest symetryczny dla 95% przedziału ufności, q wyniesie 0.975. Odnosić się do to aby uzyskać więcej informacji na temat t.ppf().

gwiazda_drzemki = t.ppf(0.975,df=14) #2.14 no_gwiazda_drzemki = t.ppf(0.975,df=5) #2.57

Teraz dodamy elementy, aby w końcu skonstruować nasz przedział ufności.

drzemka_ci_plus = drzemka_mean_pora snu + drzemka_t_star*drzemka_se_pora snu

drzemka_ci_minus = drzemka_średnia_czas na spanie – nap_t_gwiazda*drzemka_czas_spania

drukuj(nap_ci_minus,nap_ci_plus)

no_nap_ci_plus = no_drzemka_średnia_czas spania + brak_drzemki_t_gwiazda*drzemka_czas spania

no_nap_ci_minus = no_nap_mean_time – no_nap_t_star*nap_se_bedtime

drukuj(no_nap_ci_minus,no_nap_ci_plus)


wyjście: 19.976680775477412 20.631319224522585 18.95974084563192 20.220259154368087

Interpretacja: 

Na podstawie powyższych wyników wnioskujemy, że jesteśmy w 95% pewni, że średnia pora snu dla maluchów drzemiących mieści się w przedziale od 19.98 do 20.63 (po południu), podczas gdy dla dzieci, które nie drzemią, jest to między 18.96 a 20.22 (po południu). Te wyniki są zgodne z naszymi oczekiwaniami, że jeśli zdrzemniesz się w ciągu dnia, będziesz spać późno w nocy.

Uwagi końcowe

Tak więc chodziło o proste przedziały ufności przy użyciu wartości z i t. Jest to rzeczywiście ważne pojęcie, które należy znać w przypadku każdego badania statystycznego. Świetna wnioskowa metoda statystyczna do szacowania parametrów populacji na podstawie danych próbki. Przedziały ufności są również powiązane z testowaniem hipotezy, że dla 95% CI pozostawiasz 5% miejsca na anomalie. Jeżeli hipoteza zerowa mieści się w przedziale ufności, to wartość p będzie duża i nie będziemy mogli odrzucić zerowej. I odwrotnie, jeśli przekroczy to, będziemy mieli wystarczający dowód, aby odrzucić wartość null i zaakceptować alternatywne hipotezy.

Mam nadzieję, że podobał Ci się artykuł i Szczęśliwego Nowego Roku (:

Media pokazane w tym artykule nie są własnością Analytics Vidhya i zostały użyte według uznania Autora.

Źródło: https://www.analyticsvidhya.com/blog/2022/01/understanding-confidence-intervals-with-python/

Znak czasu:

Więcej z Analityka Widhja