Negatywna regresja dwumianowa | Stata Data Analysis Examples

Informacja o wersji: Kod dla tej strony został przetestowany w Stata 12.

Negatywna regresja dwumianowa służy do modelowania zmiennych zliczanych, zwykle dla nadmiernie rozproszonych zmiennych wynikowych zliczanych.

Uwaga: Celem tej strony jest pokazanie, jak używać różnych poleceń analizy danych. Nie obejmuje ona wszystkich aspektów procesu badawczego, których oczekuje się od badaczy. W szczególności, nie obejmuje czyszczenia i sprawdzania danych, weryfikacji założeń, diagnostyki modelu lub potencjalnych analiz uzupełniających.

Przykłady regresji dwumianowej ujemnej

Przykład 1. Administratorzy szkół badają frekwencję uczniów dwóch szkół średnich. Predyktory liczby dni nieobecności obejmują rodzaj programu, do którego uczeń jest zapisany, oraz standaryzowany test z matematyki.

Przykład 2. Badacz zajmujący się zdrowiem bada liczbę wizyt w szpitalu w ciągu ostatnich 12 miesięcy wśród seniorów w pewnej społeczności w oparciu o charakterystykę osób i rodzaje planów zdrowotnych, którymi każdy z nich jest objęty.

Opis danych

Prześledźmy przykład 1 z góry.

W pliku nb_data.dta mamy dane dotyczące frekwencji 314 uczniów z dwóch miejskich liceów. Interesującą nas zmienną odpowiedzi są dni nieobecności, daysabs. Zmienna matematyka jest standaryzowanym wynikiem z matematyki dla każdego ucznia. Zmienna prog jest trzypoziomową zmienną nominalną wskazującą rodzaj programu nauczania, do którego uczeń jest zapisany.

Przyjrzyjrzyjmy się danym. Zawsze dobrze jest zacząć od statystyk opisowych i wykresów.

use https://stats.idre.ucla.edu/stat/stata/dae/nb_data, clearsummarize daysabs math
 Variable | Obs Mean Std. Dev. Min Max-------------+-------------------------------------------------------- daysabs | 314 5.955414 7.036958 0 35 math | 314 48.26752 25.36239 1 99 histogram daysabs, discrete freq scheme(s1mono)Image nbreg1-1Image nbreg1-1

Każda zmienna ma 314 ważnych obserwacji, a ich rozkłady wydają się całkiem sensowne. Bezwarunkowa średnia naszej zmiennej wynikowej jest znacznie niższa niż jej wariancja.

Kontynuujmy nasz opis zmiennych w tym zbiorze danych. Poniższa tabela pokazuje średnią liczbę dni nieobecności według typu programu i wydaje się sugerować, że typ programu jest dobrym kandydatem do przewidywania liczby dni nieobecności, naszej zmiennej wynikowej, ponieważ średnia wartość wyniku wydaje się różnić w zależności od typu programu. Wariancje w obrębie każdego poziomu progresji są wyższe niż średnie w obrębie każdego poziomu. Są to warunkowe średnie i wariancje. Różnice te sugerują, że występuje nadmierna dyspersja i że odpowiedni byłby model ujemnego dwumianu.

tabstat daysabs, by(prog) stats(mean v n)Summary for variables: daysabs by categories of: prog prog | mean variance N---------+------------------------------ 1 | 10.65 67.25897 40 2 | 6.934132 55.44744 167 3 | 2.672897 13.93916 107---------+------------------------------ Total | 5.955414 49.51877 314----------------------------------------

Metody analizy, które możesz rozważyć

Poniżej znajduje się lista niektórych metod analizy, z którymi mogłeś się spotkać. Niektóre z wymienionych metod są całkiem rozsądne, podczas gdy inne albo wypadły z łask, albo mają ograniczenia.

  • Negatywna regresja dwumianowa – Negatywna regresja dwumianowa może być stosowana dla nadmiernie rozproszonych danych zliczeniowych, to jest gdy warunkowa wariancja przekracza warunkową średnią. Można ją uznać za uogólnienie regresji Poissona, ponieważ ma taką samą strukturę średniej jak regresja Poissona i posiada dodatkowy parametr do modelowania nadmiernej dyspersji. Jeśli warunkowy rozkład zmiennej wynikowej jest nadmiernie rozproszony, przedziały ufności dla regresji dwumianowej ujemnej będą prawdopodobnie węższe w porównaniu z tymi z modelu regresji Poissona.
  • Regresja Poissona – regresja Poissona jest często używana do modelowania danych liczbowych. Regresja Poissona posiada szereg rozszerzeń przydatnych dla modeli zliczeniowych.
  • Zero-inflated regression model – modele zero-inflated próbują uwzględniać nadmiar zer. Innymi słowy, uważa się, że w danych istnieją dwa rodzaje zer: „prawdziwe zera” i „nadmiarowe zera”. Modele z zerową inflacją szacują dwa równania jednocześnie, jedno dla modelu liczebności i jedno dla nadmiaru zer.
  • Regresja OLS – zmienne wynikowe liczebności są czasami przekształcane w log i analizowane przy użyciu regresji OLS. Z tym podejściem wiąże się wiele problemów, w tym utrata danych z powodu niezdefiniowanych wartości generowanych przez przyjęcie logu zera (który jest niezdefiniowany), a także brak możliwości modelowania rozproszenia.

Analiza regresji ujemnej dwumianowej

Poniżej używamy polecenia nbreg do oszacowania modelu regresji ujemnej dwumianowej. Znak i. przed prog oznacza, że jest to zmienna czynnikowa (tj. zmienna kategoryczna) i że powinna być włączona do modelu jako seria zmiennych wskaźnikowych.

nbreg daysabs math i.progFitting Poisson model:Iteration 0: log likelihood = -1328.6751 Iteration 1: log likelihood = -1328.6425 Iteration 2: log likelihood = -1328.6425 Fitting constant-only model:Iteration 0: log likelihood = -899.27009 Iteration 1: log likelihood = -896.47264 Iteration 2: log likelihood = -896.47237 Iteration 3: log likelihood = -896.47237 Fitting full model:Iteration 0: log likelihood = -870.49809 Iteration 1: log likelihood = -865.90381 Iteration 2: log likelihood = -865.62942 Iteration 3: log likelihood = -865.6289 Iteration 4: log likelihood = -865.6289 Negative binomial regression Number of obs = 314 LR chi2(3) = 61.69Dispersion = mean Prob > chi2 = 0.0000Log likelihood = -865.6289 Pseudo R2 = 0.0344------------------------------------------------------------------------------ daysabs | Coef. Std. Err. z P>|z| -------------+---------------------------------------------------------------- math | -.005993 .0025072 -2.39 0.017 -.010907 -.001079 | prog | 2 | -.44076 .182576 -2.41 0.016 -.7986025 -.0829175 3 | -1.278651 .2019811 -6.33 0.000 -1.674526 -.882775 | _cons | 2.615265 .1963519 13.32 0.000 2.230423 3.000108-------------+---------------------------------------------------------------- /lnalpha | -.0321895 .1027882 -.2336506 .1692717-------------+---------------------------------------------------------------- alpha | .9683231 .0995322 .7916384 1.184442------------------------------------------------------------------------------Likelihood-ratio test of alpha=0: chibar2(01) = 926.03 Prob>=chibar2 = 0.000

  • Wyjście rozpoczyna dziennik iteracji. Widzimy, że zaczyna się od dopasowania modelu Poissona, następnie modelu zerowego (tylko model przechwytujący) i wreszcie modelu dwumianowego ujemnego. Ponieważ program używa estymaty największej wiarygodności, wykonuje iteracje do momentu, gdy zmiana logu prawdopodobieństwa jest wystarczająco mała. Ostatnia wartość w logu iteracji jest ostateczną wartością log prawdopodobieństwa dla pełnego modelu i jest wyświetlana ponownie. Log prawdopodobieństwa może być użyty do porównania modeli.
  • Następnie prezentowane są informacje z nagłówka. Po prawej stronie podana jest liczba obserwacji użytych w analizie (314) wraz ze statystyką Walda chi kwadrat z trzema stopniami swobody dla pełnego modelu, a następnie wartością p dla chi kwadrat. Jest to test, czy wszystkie oszacowane współczynniki są równe zero – test modelu jako całości. Z wartości p-value wynika, że model jest statystycznie istotny. Nagłówek zawiera również pseudo-R2, który w tym przykładzie wynosi 0,03.
  • Poniżej nagłówka znajdują się współczynniki regresji dwumianowej ujemnej dla każdej ze zmiennych wraz z błędami standardowymi, współczynnikami z, wartościami p i 95% przedziałami ufności dla współczynników. Zmienna matematyka ma współczynnik -0,006, który jest statystycznie istotny. Oznacza to, że za każdy wzrost o jedną jednostkę w zakresie matematyki oczekiwany logarytm liczby dni nieobecności spada o 0,006. Zmienna wskaźnikowa 2.prog to oczekiwana różnica w liczeniu logarytmów między grupą 2 (prog=2) a grupą odniesienia (prog=1). Oczekiwana liczba logów dla poziomu 2 prog jest o 0,44 niższa niż oczekiwana liczba logów dla poziomu 1. Zmienna wskaźnikowa3.prog jest oczekiwaną różnicą w liczbie logów pomiędzy grupą 3 (prog=3) a grupą referencyjną (prog=1). Oczekiwana liczba logów dla poziomu 3 prog jest o 1,28 niższa niż oczekiwana liczba logów dla poziomu 1. Aby ustalić, czy prog jest statystycznie istotne, możemy użyć polecenia test, aby uzyskać test dwóch stopni swobody dla tej zmiennej. Test chi kwadrat dwóch stopni swobody wskazuje, że prog jest statystycznie istotnym predyktorem daysabs.
test 2.prog 3.prog ( 1) 2.prog = 0 ( 2) 3.prog = 0 chi2( 2) = 49.21 Prob > chi2 = 0.0000
  • Dodatkowo szacowany jest parametr nadmiernej dyspersji (/lnalpha) przekształcony w logarytm i wyświetlany wraz z wartością nieprzekształconą. Model Poissona to taki, w którym wartość alfa jest ograniczona do zera. Stata znajduje oszacowanie logu alfa z maksymalnym prawdopodobieństwem, a następnie oblicza alfa na tej podstawie. Oznacza to, że alfa jest zawsze większa niż zero i że nbreg Staty pozwala tylko na nadmierną dyspersję (wariancja większa niż średnia).
  • Pod tabelą współczynników znajdziesz test współczynnika prawdopodobieństwa, że alfa jest równa zero – test współczynnika prawdopodobieństwa porównujący ten model z modelem Poissona. W tym przykładzie powiązana wartość chi-squared wynosi 926.03 z jednym stopniem swobody. To silnie sugeruje, że alfa jest niezerowa, a model dwumianowy ujemny jest bardziej odpowiedni niż model Poissona.

Możemy również zobaczyć wyniki jako współczynniki częstości zdarzeń, używając opcji ichr.

Powyższe dane wyjściowe wskazują, że częstość występowania incydentów dla 2.prog jest 0,64 razy większa niż częstość występowania incydentów dla grupy referencyjnej (1.prog). Podobnie, wskaźnik wypadków dla 3.prog jest 0,28 razy większy od wskaźnika wypadków dla grupy referencyjnej, przy zachowaniu stałych pozostałych zmiennych. Procentowa zmiana wskaźnika incydentów w przypadkudaysabs to spadek o 1% na każdą jednostkę wzrostu w matematyce.

Forma równania modelu dla regresji dwumianowej ujemnej jest taka sama jak dla regresji Poissona. Log wyniku jest przewidywany za pomocą kombinacji liniowej predyktorów:

log(daysabs) = Intercept + b1(prog=2) + b2(prog=3) + b3math.

Z tego wynika:

daysabs = exp(Intercept + b1(prog=2) + b2(prog=3)+ b3math) = exp(Intercept) * exp(b1(prog=2)) * exp(b2(prog=3)) * exp(b3math)

Współczynniki mają efekt addytywny w skali log(y), a IRR mają efekt multiplikatywny w skali y. Parametr dyspersji alfa w regresji dwumianowej ujemnej nie ma wpływu na oczekiwaną liczbę zliczeń, ale ma wpływ na szacowaną wariancję oczekiwanej liczby zliczeń. Więcej szczegółów można znaleźć w dokumentacji programu Stata.

Dodatkowe informacje na temat różnych metryk, w których można przedstawić wyniki, oraz ich interpretacji można znaleźć w Regression Models for Categorical Dependent Variables Using Stata, Second Edition autorstwa J. Scotta Longa i Jeremy’ego Freese’a (2006).

Aby lepiej zrozumieć model, możemy użyć polecenia margins. Poniżej używamy polecenia margins do obliczenia przewidywanych liczebności na każdym poziomie progresji, utrzymując wszystkie inne zmienne (w tym przykładzie matematykę) w modelu na poziomie ich średnich.

margins prog, atmeansAdjusted predictions Number of obs = 314Model VCE : OIMExpression : Predicted number of events, predict()at : math = 48.26752 (mean) 1.prog = .1273885 (mean) 2.prog = .5318471 (mean) 3.prog = .3407643 (mean)------------------------------------------------------------------------------ | Delta-method | Margin Std. Err. z P>|z| -------------+---------------------------------------------------------------- prog | 1 | 10.2369 1.674445 6.11 0.000 6.955048 13.51875 2 | 6.587927 .5511718 11.95 0.000 5.50765 7.668204 3 | 2.850083 .3296496 8.65 0.000 2.203981 3.496184------------------------------------------------------------------------------

W powyższych danych wyjściowych widzimy, że przewidywana liczba zdarzeń dla poziomu 1 prog wynosi około 10,24, utrzymując matematykę na jej średniej. Przewidywana liczba zdarzeń dla poziomu 2 prog jest niższa i wynosi 6,59, a przewidywana liczba zdarzeń dla poziomu 3 prog wynosi około 2,85. Zauważ, że przewidywana liczba zdarzeń dla poziomu 2 prog jest (6.587927/10.2369) = 0.64 razy przewidywana liczba zdarzeń dla poziomu 1 prog. Odpowiada to temu, co widzieliśmy w tabeli wyników IRR.

Poniżej otrzymamy przewidywaną liczbę zdarzeń dla wartości matematyki, które mieszczą się w zakresie od 0 do 100 w odstępach co 20.

margins, at(math=(0(20)100)) vsquishPredictive margins Number of obs = 314Model VCE : OIMExpression : Predicted number of events, predict()1._at : math = 02._at : math = 203._at : math = 404._at : math = 605._at : math = 806._at : math = 100------------------------------------------------------------------------------ | Delta-method | Margin Std. Err. z P>|z| -------------+---------------------------------------------------------------- _at | 1 | 7.717607 .9993707 7.72 0.000 5.758876 9.676337 2 | 6.845863 .6132453 11.16 0.000 5.643924 8.047802 3 | 6.072587 .3986397 15.23 0.000 5.291268 6.853907 4 | 5.386657 .4039343 13.34 0.000 4.59496 6.178354 5 | 4.778206 .5226812 9.14 0.000 3.75377 5.802643 6 | 4.238483 .6474951 6.55 0.000 2.969416 5.50755------------------------------------------------------------------------------

Powyższa tabela pokazuje, że przy progresji na obserwowanych wartościach i matematyce utrzymywanej na poziomie 0 dla wszystkich obserwacji, średnia przewidywana liczba zdarzeń (lub średnia liczba dni nieobecności) wynosi około 7,72; gdy matematyka = 100, średnia przewidywana liczba wynosi około 4,24. Jeśli porównamy przewidywane liczebności na dowolnych dwóch poziomach matematyki, np. matematyka = 20 i matematyka = 40, możemy zobaczyć, że stosunek wynosi (6,072587/6,845863) = 0,887. Odpowiada to IRR równej 0,994 dla zmiany o 20 jednostek: 0.994^20 = 0.887.

Zapisane przez użytkownika polecenie fitstat (jak również polecenia estat programu Stata) mogą być użyte do uzyskania dodatkowych informacji o dopasowaniu modelu, które mogą być pomocne, jeśli chcemy porównać modele. Można wpisać polecenie search fitstat, aby pobrać ten program (zobacz Jak mogę użyć polecenia search, aby wyszukać programy i uzyskać dodatkową pomoc?, aby uzyskać więcej informacji na temat używania polecenia search).

fitstat
Measures of Fit for nbreg of daysabsLog-Lik Intercept Only: -896.472 Log-Lik Full Model: -865.629D(308): 1731.258 LR(3): 61.687 Prob > LR: 0.000McFadden's R2: 0.034 McFadden's Adj R2: 0.028ML (Cox-Snell) R2: 0.178 Cragg-Uhler(Nagelkerke) R2: 0.179AIC: 5.552 AIC*n: 1743.258BIC: -39.555 BIC': -44.439BIC used by Stata: 1760.005 AIC used by Stata: 1741.258

Możesz wykreślić wykres przewidywanej liczby zdarzeń za pomocą poniższych poleceń. Wykres wskazuje, że najwięcej dni nieobecności przewidywanych jest dla osób z programu akademickiego 1, szczególnie jeśli student ma niski wynik z matematyki. Najniższa liczba przewidywanych dni nieobecności jest dla tych studentów w programie 3.

predict csort mathtwoway (line c math if prog==1) /// (line c math if prog==2) /// (line c math if prog==3), /// ytitle("Predicted Mean Value of Response") ylabel(0(3)15 ,nogrid) /// xtitle("Math Score") legend(order(1 "prog=1" 2 "prog=2" 3 "prog=3")) scheme(s1mono) 

Rzeczy do rozważenia

  • Nie zaleca się stosowania ujemnych modeli dwumianowych do małych próbek.
  • Jedną z częstych przyczyn nadmiernego rozproszenia jest nadmiar zer przez dodatkowy proces generowania danych. W tej sytuacji należy rozważyć model z zerami.
  • Jeśli proces generowania danych nie pozwala na żadne zera (np. liczba dni spędzonych w szpitalu), wtedy model z zerami może być bardziej odpowiedni.
  • Dane zliczeniowe często mają zmienną ekspozycji, która wskazuje liczbę przypadków, w których zdarzenie mogło się wydarzyć. Zmienna ta powinna zostać włączona do modelu ujemnej regresji dwumianowej za pomocą opcji exp().
  • Zmienna wyniku w ujemnej regresji dwumianowej nie może mieć liczb ujemnych, a ekspozycja nie może mieć wartości 0.
  • Możesz również uruchomić ujemny model dwumianowy używając polecenia glm z log link i rodziną dwumianową.
  • Będziesz musiał użyć polecenia glm do uzyskania reszt, aby sprawdzić inne założenia ujemnego modelu dwumianowego (zobacz Cameron i Trivedi (1998) oraz Dupont (2002) po więcej informacji).
  • Pseudo-R-squared: Istnieje wiele różnych miar pseudo-R-squared. Wszystkie one próbują dostarczyć informacji podobnych do tych dostarczanych przez R-squared w regresji OLS; jednakże żadna z nich nie może być interpretowana dokładnie tak, jak interpretuje się R-squared w regresji OLS. W celu omówienia różnych pseudo-R-kwadratów, zobacz Long i Freese (2006) lub naszą stronę FAQ Czym są pseudo-R-kwadraty?

Zobacz także

  • Anotowane dane wyjściowe dla polecenia nbreg
  • Podręcznik online Staty
    • nbreg
  • Powiązane polecenia Staty polecenia
    • poisson – regresja poissona
  • Stata FAQs
    • Moje surowe dane zawierają dowody zarówno nadmiernego rozproszenia jak i nadmiaru zer. Czy model dwumianu ujemnego z wypełnieniem zerowym jest jedynym modelem danych zliczeniowych, który może uwzględnić zarówno nadmierną dyspersję, jak i nadmiar zer?
    • Jak oblicza się błędy standardowe i przedziały ufności dla współczynników zachorowalności (IRR) za pomocą modeli poisson i nbreg?
  • Long, J. S. (1997). Regression Models for Categorical and Limited Dependent Variables.Thousand Oaks, CA: Sage Publications.
  • Long, J. S. and Freese, J. (2006). Regression Models for Categorical Dependent Variables Using Stata, Second Edition. College Station, TX: Stata Press.
  • Cameron, A. C. i Trivedi, P. K. (2009). Microeconometrics Using Stata. College Station, TX: Stata Press.
  • Cameron, A. C. and Trivedi, P. K. (1998). Regression Analysis of Count Data. New York: Cambridge Press.
  • Cameron, A. C. Advances in Count Data Regression Talk for the Applied Statistics Workshop, March 28, 2009.http://cameron.econ.ucdavis.edu/racd/count.html .
  • Dupont, W. D. (2002). Statistical Modeling for Biomedical Researchers: A Simple Introduction to the Analysis of Complex Data. New York: Cambridge Press.

.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *