Kérdés:
Hogyan lehet kiszámítani az illeszkedés jóságát glm-ben
learner
2012-12-21 04:36:26 UTC
view on stackexchange narkive permalink

A következő eredményt kaptam a glm függvény futtatásával.

Hogyan értelmezhetem a következő értékeket:

  • Null deviancia
  • Maradék deviancia
  • AIC

Van valami közük az illeszkedés jóságához? Kiszámolhatom ezekből az eredményekből az alkalmassági érték jóságát, például R-négyzet vagy bármely más mérték?

  Hívás: glm (formula = tmpData $ Y ~ tmpData $ X1 + tmpData $ X2 + tmpData $ X3 + as.numeric (tmpData $ X4) + tmpData $ X5 + tmpData $ X6 + tmpData $ X7) Devianciás maradványok: Min. 1Q Medián 3Q Max -0.52628 -0.24781 -0.02916 0.25581 0.48509 Hiba t érték Pr (> | t |) (Intercept -1.305e-01 1.391e-01 -0.938 0.3482 tmpData $ X1 -9.999e-01 1.059e-03 -944.580 <2e-16 *** tmpData $ X2 -1.001e +00 1.104e-03 -906.787 <2e-16 *** tmpData $ X3 -5.500e-03 3.220e-03 -1.708 0.0877. TmpData $ X4 -1.825e-05 2.716e-05 -0.672 0.5017 tmpData $ X5 1.000e +00 5.904e-03 169.423 <2e-16 *** tmpData $ X6 1.002e + 00 1.452e-03 690.211 <2e-16 *** tmpData $ X7 6.128e-04 3.035e-04 2.019 0.0436 * --- Signif. kódok: 0 '***' 0,001 '**' 0,01 '*' 0,05 '.' 0,1 '' 1 (diszperziós paraméter a gaussiai családra 0,08496843-nak tekintjük) Null deviancia: 109217,71 3006 szabadság fokon szabadságfokok (4970 észrevétel hiányzik hiányából) AIC: 1129,8 Fisher pontozási iterációk száma: 2  
Tudomásul veszem, hogy ezt az SO-ból vándorolták át, ahol az ember általában nem keresne információkat ezekről a statisztikai kifejezésekről. Nagyszerű forrása van itt! Például megnézheti, mit tanulhat egyes kifejezések, például az [AIC] kereséséből (http://stats.stackexchange.com/search?tab=votes&q=aic). Az ezzel töltött kevés időnek vagy teljes választ kell adnia a kérdésére, vagy legalább arra kell irányítania, hogy konkrétabb kérdést tegyen fel.
Nem kapcsolódik a gaussian glms-hez, de ha van bináris adatokra illesztett bernoulli glm, akkor a maradék devianciát nem használhatja a modell illeszkedésének felmérésére, mert kiderül, hogy az adatok a deviancia képletben törlődnek.Ebben az esetben a maradék devianciák * különbségét * felhasználhatja két modell összehasonlítására, de magát a maradék devianciát nem.
Három válaszokat:
DWin
2012-12-21 08:21:41 UTC
view on stackexchange narkive permalink

Az glm modell alapértelmezett hibacsaládja (a nyelven) R Gaussian, tehát a beküldött kóddal normál lineáris regressziót kap, ahol a $ R ^ 2 $ széles körben elfogadott mértéke "az illeszkedés jósága". Az R glm függvény nem a Nagelkerke-álnevet - "$ R ^ 2 $" jelenti, hanem az AIC-t (Akaike információs kritérium). OLS modell esetén a Nagelkerke GOF mértéke nagyjából megegyezik a $ R ^ 2 $ értékkel.

$$ R ^ 2 _ {\ mathrm {GLM}} = 1- \ frac { (\ sum_id_ {i, \ mathrm {model}} ^ 2) ^ {2 / N}} {(\ sum_id_ {i, \ mathrm {null}} ^ 2) ^ {2 / N}} ~~~~~ ~~~. =. ~~~~~~~~ 1- \ frac {\ mathit {SSE} / n [\ mathrm {model}]} {\ mathit {SST} / n [\ mathrm {total}]} = R ^ 2 _ {\ mathrm {OLS}} $$

Van némi vita arról, hogyan értelmezhető az LHS-re vonatkozó ilyen mérték, de csak akkor, ha a modellek eltérnek az egyszerűbb Gauss / OLS-helyzettől. De azokban a GLM-ekben, ahol a linkfunkció nem feltétlenül "identitás", mint itt volt, és a "négyzethiba" nem biztos, hogy ugyanolyan egyértelmű értelmezést kapott, ezért az Akaike információs kritériumról is beszámolunk, mert úgy tűnik, hogy általánosabb. számos más versenyző van a GLM GOF nyereményjátékában, egyértelmű győztes nélkül.

Érdemes megfontolni, hogy ne jelentse be a GOF mértékét, ha más hibával fogja használni a GLM-eket. struktúrák: Melyik ál- $ R ^ 2 $ mértéket kell jelenteni a logisztikai regresszióról (Cox & Snell vagy Nagelkerke)?

Hol található pontosan a "Nagelkerke-ál-" R2 "" a fenti kimenetben?
Visszhangozom Tom kérdésére.Hol található a kimenetben a Nagelkerke-ál-R2, vagy hogyan találom meg?Nem az információról keresek további információt, hanem azt, hogy hol találhatom meg azt R kimenetében.A kérdés példa kimenetében semmi nem tűnik számomra az illesztési érték jóságának a [0-1] tartományban, ezért zavart vagyok.
Lásd: http://stats.stackexchange.com/questions/8511/how-to-calculate-pseudo-r2-from-rs-logistic-regression és http://stackoverflow.com/questions/6242818/generalized-r-squared-naglekerkes-r2 ... Nem látok R ^ 2-t sem a glm objektumban, sem az összefoglaló kimenetben.Lehet, hogy az effektív összefoglaló függvények szokásos kimenetére gondoltam, mivel ez a kedvenc modellezési környezetem.
noLongerRandom
2016-04-22 04:09:14 UTC
view on stackexchange narkive permalink

Használja a Null Deviance és a Residual Deviance kifejezéseket:

  1 - (Residual Deviance / Null Deviance)  

Ha belegondol, megpróbálja megmérni a modellben szereplő deviáció arányát a nullához; mennyivel jobb a modellje (maradvány deviancia), mint csak a metszéspont (null deviancia). Ha ez az arány kicsi, akkor a nullában a deviancia legnagyobb részét „megmagyarázza”; 1 mínusz, amivel megkapja az R-négyzetét.

Például 0,998-at kapna.

Ha csak a lineáris modellt (lm) hívod glm helyett, akkor kifejezetten R négyzetet kapsz az összefoglalóban, és láthatod, hogy ugyanaz a szám.

A normál glm objektum az R-ben, ezt a következőképpen számíthatja ki:

  reg = glm (...) a következővel: (summary (reg), 1 - deviance / null. deviancia)  
dylanjm
2016-07-14 21:00:37 UTC
view on stackexchange narkive permalink

Ha bináris logisztikai modellt futtat, akkor futtathatja a Hosmer Lemeshow Good of Fit alkalmazást a glm () modelljén is. A ResourceSelection könyvtár használata.

  library (ResourceSelection) modell <- glm (tmpData $ Y ~ tmpData $ X1 + tmpData $ X2 + tmpData $ X3 + as.numeric (tmpData $ X4) + tmpData $ X5 + tmpData $ X6 + tmpData $ X7, family = binomial) összefoglaló (modell) hoslem.test (modell $ y, model $ felszerelve)  
Bár vegye figyelembe, hogy ez csak binárisan függő változó modellek esetén működik (pl. Ha az OP beállította a "family =" binomial "értéket. Az OP példája lineáris regresszió.
@Matthew Ez igaz, sajnálom, hogy ezt elmulasztottam.Olyan sokat használtam bináris logisztikai regressziókat az utóbbi időben, hogy az agyam csak a "hoslem.test ()" -re ment
Érthető :) Javasoltam a bejegyzés szerkesztését, de elfelejtettem frissíteni az R kódot is.Érdemes ezen változtatni, csak az érthetőség kedvéért.


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...