Matematik
Binær logistisk regression - hjælp??!!
Er der nogen, der ved, hvordan man aflæser output af en binær logistisk regressionsanalyse i open-source programmet Gretl (eller evt bare i det hele taget)??? Hvad betyder f.eks. Chi-square tallet?? Hvordan validerer jeg mine modeller?? Har HÅRDT brug for hjælp!!!??? (model-output vedhæftet)
Svar #1
20. juni 2011 af peter lind
Jeg kender ikke dit program og for den sags skyld heller ikke din model, så det følgende er med en del forbehold.
Har du ikke en manual eller en hjælpefunktion, hvor du kan slå det forskellige op ?
Det første er så vidt jeg kan se en liste over estimerede parametre. Sammenligner jeg det med standartfejlen i anden kolonne, ser det ikke ud til at din model er særlig god.
χ2 fordelingen er en fordeling som ofte bruges til at teste modeller med. Hvordan den er brugt her kan jeg ikke sige. I χ2(9) er 9 en parameter kaldet antal af frihedsgrader. Det tal der så står efter er den teststørrelse, som man har beregnet. Med antal af frihedsgrader = 9, skulle dette tal være ca. 9, og det er det altså langt fra. Man kan slå op i programmer og tabeller hvad sandsynlighederne for forskellige udfald. Det 0, der står i parentesen efter er formodentlig sandsynligheden for at du får et så ringe udfald eller endnu dårligere. Sagt med andre ord χ2 testen fejler helt og aldeles.
Svar #2
20. juni 2011 af afrikat (Slettet)
Kære Peter
1000 tak for dit svar!!! Jo, der følger en manual med til Gretl, men jeg kan ikke finde svarene der (ELLER på nettet - har ledt overalt). Modellerne er til mit speciale og er baseret på et datasæt, der nok ikke er så overbevisende (indsamlet af et forskerhold med meget tid og energi, men ikke desto mindre.. spørgeskemaundersøgelser i små afrikanske landsbyer er ikke altid så pålidelige).
Det, du siger er, at når frihedsgraderne er f.eks 9, så skal det tal, der står i parentes (her 41) være så tæt på 9 som muligt? Jeg regner ikke med, at mine uafhængige variable kan "forudsige" udfaldet af min afhængige variabel, men kan jeg bruge dem til at indikere en tendens, eller er det helt ubrugeligt? Og siger du, at tallet i den firkantede parentes (0.0000) helst skal være STØRRE end 0?
Endnu en gang mange tak for hjælpen!!!
Svar #3
20. juni 2011 af peter lind
Jeg kan ikke sige om den kan afsløre en tendens. Det må du skønne ud fra de estimerede parametre. Jeg vil gætte på at stjernerne helt ud til højre angiver noget om hvor sikre parametrene er med en stjerne som det sikreste. Hvis det er tilfælde skal du nok ført og fremmest se på de parametre med 1 stjerne.
I en χ2 test skal man angive et signifikantsniveau. Det er en accepteret sandsynlighed for at lave den fejl at forkaste en korrekt hypotese. Den sættes traditionelt til 5% eller 10% med den objektive begrundelse at vi har 5 fingre på hver hånd. Med disse niveauer skal tallet i parentesen være mindst 0,05 eller 0,1. Det er sjældent at man ser så klar en afvisning af hypotesen som her. Jeg ved godt nok ikke hvad hypotesen er.
Svar #4
20. juni 2011 af afrikat (Slettet)
Sequential elimination using two-sided alpha = 0.10
Dropping EduLevel (p-value 0.976)
Dropping HHStatus (p-value 0.951)
Dropping ForestCommittee (p-value 0.650)
Dropping HHSize (p-value 0.684)
Convergence achieved after 8 iterations
Model 11: Logit, using observations 1-319
Dependent variable: IncDeclinePFM_1
coefficient std. error z slope
----------------------------------------------------------------
const −2.15249 0.639057 −3.368
VillageName −0.574596 0.217231 −2.645 −0.0142870
JFM 1.99083 0.821704 2.423 0.0708892
HarvestForestFo 1.62867 0.662787 2.457 0.0825925
ForestIncOfTota 0.945292 0.476487 1.984 0.0235042
Mean dependent var 0.050157 S.D. dependent var 0.024864
McFadden R-squared 0.164615 Adjusted R-squared 0.085842
Log-likelihood −53.02480 Akaike criterion 116.0496
Schwarz criterion 134.8755 Hannan-Quinn 123.5680
Comparison of Model 10 and Model 11:
Null hypothesis: the regression parameters are zero for the variables
HHStatus, EduLevel, HHSize, ForestCommittee
Likelihood ratio test:
Chi-square(4) = 0.375321, with p-value = 0.984447
Of the 3 model selection statistics, 3 have improved.
........hej peter jo, men ser du, når jeg laver en "sequential elimination of variables" (som ovenover), så tester den, at regressionsparametrene for de nævnte variable er 0 (og dermed "ikke vigtige" for modellen), og det viser den med en chi-square(4) og p-værdi på 0.98, hvorefter den fjerner disse variable. Jeg er ret sikker på, at de mest signifikante variable er dem med tre stjerner. ........ er hypotesen ikke, at regressionsparametrene er 0 for parametrene i modellen?? - og når denne hypotese afvises, så betyder det, at parametrene HAR en betydning?? Eksemplet ovenover refererer til folk, der har rapporteret en nedgang i deres indkomst som følge af et nyt skovbevarelsesprogram (PFM) Jeg ville læse modellen sådan: Der er signifikante forskelle på de individuelle landsbyer Flere har oplevel nedgang i indkomst i JFM-landsbyer (en underart af programmet) De, som høster skovprodukter har oplevet nedgang i indkomst De, som får en relativt større del af deres indtægt fra skoven, har oplevet nedgang i indkomst Giver det mening??
Svar #5
20. juni 2011 af Madsst (Slettet)
Jeg kender ikke programmet, men vi kan nok gætte os til hvad output er. Tredje kolonne vil jeg gætte på er det punkt som likelihood funktionen er evalueret i. Det er nemlig sådan for ikke-lineære modeller at de skal evalueres i et punkt da koefficienterne afhænger af det punkt man evaluerer i. Det er her formentlig gjort i gennemsnittet, z.
Første kolonne giver dig estimerede koefficienter, anden kolonne estimerede std. fejl, begge evalueret i z. Fjerde kolonne er p-værdien for en hypotese om at givne koefficient er 0. Temmeligt uinteressant men normalt. Det du kan læse af dine p-værdier er dog at ingen af variablene synes at være overflødige.
Givet at du har opstillet en meningsfuld model ser dit output rigtig fint ud og du har så klart afsløret nogle tendenser i data. Der kan så være en masse problemer med det output du har lavet, men det er en anden sag.
I øvrigt. Peter skrev: "Det tal der så står efter er den teststørrelse, som man har beregnet. Med antal af frihedsgrader = 9, skulle dette tal være ca. 9, og det er det altså langt fra." Det er en noget forvirret måde at anskue det på. Den kritiske værdi i en chi-kvadratfordeling er lige under 17 for et 5 % signifikansniveau. Du kan selv tjekke efter ved +chiinv(0.05;9) i excel.
For at jeg kan svare på mere må du være meget mere konkret omkring din model og variablene.
Svar #6
20. juni 2011 af peter lind
# 4 Du kender din model og program bedre end jeg gør. så hvis du mener at noget jeg har skrevet tidligere er forkert har du sikkert ret. Det er fornuftigt at teste om nogle parametre er 0, og hvis man ikke kan afvise de er 9 , så eliminere dem: Det er faktisk almindelig standart teknik.
Jeg er enig med Madsst om betydningen af kolonnerne; men det for mig til at tvivle på om der er signifikante forskelle generelt. Den eneste jeg kan se, der er signifikant forskelle på er VillageName og de 3 andre. At der ikke er signifikant forskel betyder ikke at der ikke er nogen forskel. Forskellen er så bare ikke så stor, at det kan bevises ud fra de pågældende data. Har du i øvrigt undersøgt om der er korrelation mellem disse data ?. Hvis du ikke har bør du gøre det.
χ2 test giver anledning til en lidt anden og mere usædvanlig bekymring. Resultatet er for godt. Det kan ske, hvis nogle har snydt med data.
#5 Middelværdien for en χ2(9) er 9. Det er derfor jeg skrev som jeg gjorde. Hvor meget man vil tillade afvigelser fra denne værdi er så afhængig af signifikansniveauet Under alle omstændigheder er resultatet på ca. 42 helt usandsynlig..
Svar #7
20. juni 2011 af afrikat (Slettet)
Likelihood ratio test: Chi-square(8) = 57.5189 [0.0000]</o:p>
Svar #8
20. juni 2011 af afrikat (Slettet)
Hej Peter
Tak igen :-) !!!
Nej, jeg har ikke testet for korrelation...
Der er dog helt sikkert ikke nogen, der har "fiflet" med data, så det kan umuligt passe for GODT?!
Mener du en test for collinearity??
Variance Inflation Factors
Minimum possible value = 1.0
Values > 10.0 may indicate a collinearity problem
HHStatus 1.310
VillageName 1.266
FarmRelToOwn 1.798
LandFarmed 2.041
ForestIncOfTota 1.083
ForestNetInc 1.077
PFMForestDegrad 1.083
AttendPFMMeetin 1.104
VIF(j) = 1/(1 - R(j)^2), where R(j) is the multiple correlation coefficient
between variable j and the other independent variables
........ det er lidt svært at læse, men det ser ikke ud til, at der er et problem med collinearity?!
Svar #9
20. juni 2011 af peter lind
Hvis den kritiske værdi er 15,5 betyder det at du skal forkaste hypotesen hvis den beregnede værdi er større end 15,5. Også her er testværdien usandsynlig stor. Der er ingen tvivl om at nul hypotesen skal forkastes.
Hvis standartfejlen er mindre end den numeriske værdi af parameteren, kan du nok med forsigtighed bruge parameteren til en forsigtig vurdering.
Svar #10
20. juni 2011 af afrikat (Slettet)
....... Men hypotesen må vel være, at variablerne IKKE forklarer noget... så når nul-hypotesen forkastes, betyder det, at de uafhængige variable FORKLARER noget!?!
Såvidt jeg kan se er alle standardfejlene (i modellen ovenfor) mindre end de numeriske værdier (= koefficienterne?)......
Du skal huske på, at jeg jo ikke skal beregne noget nøjagtigt - det er ikke et studie af effekten af en medicin ell. lign.
Jeg vil bare gerne kunne sige, om en variabel har ingen effekt, en positiv effekt eller en negativ effekt på sandsynligheden for, at man (f.eks.) oplever PFM som uretfærdigt eller ikke stoler på Skov Kommitteen
Og så skulle data gerne kunne klare et specialeforsvar :-)
TAK igen, Peter!!
Svar #11
20. juni 2011 af Madsst (Slettet)
Jeg forstår ikke helt hvorfor i går så meget op i chi-testen. Mit gæt er at det er en test for om man kan sætte alle parametre til 0 (på nær konstanten). Hvis dette er tilfældet er det helt nødvendigt at p-værdien skal være meget lille når det er en god model.
Hver enkelt parameter i modellen er ikke chi-fordelt, bare lige for at få det på det rene. De er alle asymptotisk normalfordelte (dvs. antag normalfordelte).
Du kan sagtens bruge din model medmindre du sammenligner noget problematisk data. Dvs. noget i denne retning:
http://en.wikipedia.org/wiki/Spurious_relationship.
Svar #12
21. juni 2011 af peter lind
Godt. der ser ikke ud til at være noget problem med korrelation mellem data.
Min erfaring med rådata siger, at der altid er fejl i dem, så de skal kontrolleres omhyggeligt. Jeg har en gang været ude for at en tællestation systematisk har leveret forkerte data. Det kan være sådan noget der gør at teststørelsen er blevet for god. Hvis man skulle sammenligne vil det nærmest svare til at en eller anden i en landsby rent faktisk har givet svaret for flere eller alle i landsbyen. Det kunne tænkes at ske fordi man ser op til vedkommende sammen med usikkerhed om testen eller fordi der er sprogproblemer. Jeg kender ikke spor til dine data specielt ikke noget om hvordan eller om de overhovedet er kontrolleret. Hvis de ikke er bør det gøres. Dine modeller kan også give anledning til nye test. Hvis nogle data er meget forskellig fra at modellen, kan det være tegn på at der er fejl.
Jeg er enig med Madsst at der nok er gjort for meget ud af χ2 testen især fordi det er et rent gæt hvad der testes.
Svar #13
22. juni 2011 af afrikat (Slettet)
Hej Peter....... TAK!!!
Jeg tester nu alle mine data for korrelation.
Der kan udmærket være fejl i data (sprogproblemer, misforståelse af spørgsmål m.m. er meget sandsynligt. Dog også meget svært at kontrollere...). Een årsag kunne måske være, at jeg har "forsimplet" den afhængige variabel meget i.e. alle "ja"-svar (i.e. "Ja, PFM er uretfærdigt") har fået en score på 1, hvorimod ALLE andre svar (i.e. ok, nej, ved ikke, ingen mening) har fået 0.
Er der noget med, at "adjusted R" også kan sige noget om modellen?
Igen igen igen, 1000 tak, fordi du/I gider at bruge tid på dette!!!!
Svar #14
22. juni 2011 af peter lind
Jeg har 2 gange arbejdet med logit modeller; men det er lang tid siden, så jeg kan ikke huske hvad McFadden faktoren er. Den siger vistnok noget om kvaliteten af modellen. Har du ikke en vejleder, du kan spørge ?
Hvorfor bruger du i øvrigt en logit model ?.I de tilfælde jeg har brugt den, har det været noget med nye alternativer, som man på forhånd vil vide noget om hvor mange, der valgte det nye alternativ.
Svar #15
26. juni 2011 af Madsst (Slettet)
Man bruger generelt logit og probit modeller når den endogene variabel er binær (og det er tilfældet her).
Har vi for eksempel en model:
y = X * b+e,
hvor y er binær (bernoulli). Så kigger man normalt på:
E[y | x ] = 1 * P[ y = 1 | x ] + 0 *P[ y = 0 | x] = P[ y = 1 | x ].
Det kan altså fortolkes som en model for en bernoulli ssh. Derfor bliver Xb nødt til at tilhører 0 - 1, hvilket ikke altid vil være tilfældet. Derfor laver en model af formen:
E[y | x ] = P[ y = 1 |x ] = G(x,b) istedet.
Svar #16
26. juni 2011 af peter lind
Logit (og probit) modeller har nogle forudsætninger, som ikke indlysende holder. Desuden er de som nævnt udviklet til at løse helt andre problemer. Bare blindt at bruge en model, fordi den eksistere er ikke god matematik
Svar #17
26. juni 2011 af Madsst (Slettet)
Jeg forstår ikke rigtigt hvad du mener. Det er ganske normal praksis at bruge denne type modeller til binære endogene og et særdeles veludforsket område. Det er netop heller ikke noget med blindt at bruge en model, men specifikt fordi normal regression er problematisk for binære variable. Desuden er modellen specifikt udviklet til at håndtere dette problem.
(quasi) Maximum likelihood metoder har den fordel at man asymptotisk har pæne egenskaber for estimatorerne trods at fordelingsantagelser ikke er overholdt. Hvis ikke dette var tilfældet ville man stort set heller ikke kunne lave statistik.
Når det er sagt så kan man sagtens bruge 'generalized method of moments' metoder til at få pæne asymptotiske egenskaber fra antagelser der ikke er overholdt på normal regression. Så det handler om hvorvidt man er villig til at acceptere sandsynligheder der ligger udenfor intervallet mellem 0 og 1.
Svar #18
26. juni 2011 af peter lind
Der er altså nogle forudsætninger for at modellen holder, og man skal altså undersøge om disse forudsætninger holder. Der har for nogle få dage siden været en artikel om en videnskabsmand, der fandt 150 godkendte videnskabelige artikler, hvor forfatterne blindt havde brugt en formel, som altså bare ikke holdt i den aktuelle situation.
Der er ikke tale om regression og selvom beslutningsvariablene er diskrete er de parametre, der skal estimeres det ikke.
Modellerne er udviklet for at finde ud af folks preferencer, så man kan sige noget om hvad der sker, hvis der kommet nye alternativer. Det er der jo ikke tale om her.
Jeg kan rent umiddelbart ikke se hvorfor man ikke skulle bruge multinomialfordelinger og bruge variansanalyse til at teste om der er forskel.
Svar #19
26. juni 2011 af Madsst (Slettet)
Der er tale om det man kalder logistisk regression, som hører til ikke-lineær regression. Det er klart at man kan gøre tingene på mange forskellige måder, men denne metode er som sagt ret typisk. Selvfølgelig skal man undersøge om forudsætningerne holder, men det er jo ikke specifikt for denne model.
Det er muligt at du har brugt modellen til at undersøge noget med nye alternativer, men det betyder jo ikke at det er det eneste den kan bruges til.
Jeg har ikke påstået at parametrene er binære eller diskrete. Hvis du læser #15 igen vil du se at det ikke er pointen.
Jeg vil henvise til #15 og #17 igen.
Svar #20
27. juni 2011 af afrikat (Slettet)
........... Peter, du spørger, hvorfor jeg har valgt at anvende binær logistisk regression. Svaret er, at det var et forslag/antagelse fra de mennesker, der evt. skal bruge mine analyser bagefter, eller som i al fald har leveret data (og som ved langt mere om statistik end jeg gør, men som desværre ikke kan vejlede mig, da jeg skulle forestille at vide lidt mere om det her, end jeg egentlig gør.... hvis du forstår ;-).
Til gengæld har jeg nu et langt mere "simpelt" problem, som dog ikke nødvendigvis er simpelt, fordi "ingen" kender til at bruge Gretl...
Jeg har forskellige forklarende/uafhængige variable, hvoraf langt de fleste er binære/dummies. Intet problem. Men så har jeg f.eks. variable som "Village Name". Der er 8 landsbyer, som jeg har navngivet fra 1 til 8 (Gretl arbejder kun med numeriske værdier), MEN..... det er jo ikke en continuous variable, men derimod en kategorisk variabel. I Gretl kan jeg kun finde ud af at deklarere mine variabler som "diskrete" (det har jeg f.eks. gjort med "Household status", som har værdier fra 1-3, og "Education Level", som har værdier fra 0-3).
...... det må vel være et problem? Hvis jeg deklarerer "Village Name" som "diskret", så vil programmet vel stadig antage, at 8 er større end 1?? Skal jeg fortsætte med desperat at lede efter en funktion, der kan deklarere en variabel som kategorisk - kan det tænkes, at det ikke er en mulighed, og i så tilfælde, er jeg nødt til at udelade min variabel? ?
