17.4 GLM: bináris és számlálási cél

17.4.1 Cél és konkrét helyzet

Egy kampányértékelő csapat két kis, szándékosan szintetikus adatkészleten akarja megtanulni, mit tesz a statsmodels GLM, ha a célváltozó nem folytonos. A bináris cél egy konverziós jelző, a számlálási cél egy rendelési tételszám. A generáló paraméterek ismertek, ezért a becsült együtthatókat tartalmi értelemben is ellenőrizhetjük.

Induló becslés, mielőtt tovább olvasna: a bináris modell variant együtthatója várhatóan 0,30{,}3 és 0,90{,}9 közé esik, de mit jelent ez a megfigyelési skálán, és miért nem százalékpontos különbség? A Poisson-modell priority együtthatója nagyjából 0,30{,}3; hány százalékos átlagos emelkedést jelent ez az alapszintű ablakban?

17.4.2 Fogalmi magyarázat: a GLM közös váza

A Diagnosztika és robusztus standard error OLS-modelljében az átlagos cél lineáris volt, a hibatag pedig normális eloszlású. A GLM ezt általánosítja, miközben a következő szerkezetet tartja meg:

g(μi)=ηi=𝐱i⊤β,μi=E[Yi∣𝐱i].g(\mu_i)=\eta_i=\mathbf{x}_i^\top\beta, \qquad \mu_i=E[Y_i\mid\mathbf{x}_i].

Itt 𝐱i\mathbf{x}_i az ii-edik megfigyelés magyarázó vektor, első eleme 11, β\beta a pp darab ismeretlen együttható, ηi\eta_i a lineáris prediktor, gg pedig a linkfüggvény (link). A g inverzével a várható értéket kapjuk vissza az eredeti kontingens skálán. A link megválasztása az a statisztikai döntés, amely elválasztja a normális lineáris, a logisztikus és a Poisson-modellt.

Az OLS identitáslinket használ, g(mu) = mu, normális hibataggal, Var(Yi)=σ2\text{Var}(Y_i)=\sigma^2, ahol a variancia nem függ az átlagtól. A bináris és a Poisson-cél a link skáláján is lineáris, de a variancia a várható érték függvénye, ezért a szokásos lineáris modell csal.

A likelihood visszahívásához: az illesztés a log-likelihoodot,

ℓ(β;y)=∑ilnLi(β;yi),\ell(\beta;y)=\sum_i \ln L_i(\beta;y_i),

maximalizálja. A likelihood LiL_i annak a valószínűsége (illetve sűrűsége), hogy az ii-edik megfigyelt cél éppen yiy_i, ha a modell paramétere β\beta lenne. A maximum likelihood becslés a logaritmus miatt szorzat helyett összeget optimalizál. A becslés pontbecslés; a bizonytalanságát a standard error és a konfidenciaintervallum hordozza, ugyanúgy mint IV. ellenőrző pont: korrekt statisztikai állítás alfejezetben.

A bináris célra a logit link a leggyakoribb:

pi=P(Yi=1∣𝐱i)=μi,logpi1−pi=ηi.p_i=P(Y_i=1\mid\mathbf{x}_i)=\mu_i, \qquad \log\frac{p_i}{1-p_i}=\eta_i.

Az inverz link a logisztikus függvény:

pi=11+e−ηi.p_i=\frac{1}{1+e^{-\eta_i}}.

A szomszédos ábra a függvény alakját mutatja.

A logit inverz link - A pontok a megadott függvényből számított szemléltető értékek, nem mérés.

Az odds a kedvező esély arány a kedvezőtlenhez:

odds(p)=p1−p.\text{odds}(p)=\frac{p}{1-p}.

A logit ennek természetes logaritmusa. Kis kézi kontroll: ha p=0,3p=0{,}3, az odds 3/7≈0,4293/7\approx0{,}429, a log odds ln(0,429)≈−0,847\ln(0{,}429)\approx-0{,}847. Ha η=0\eta=0, akkor p=0,5p=0{,}5, az odds 11 és a log odds 00. Az együttható tehát a log odds additív változása: Δη=βj\Delta\eta=\beta_j, ezért minden más változó rögzítése mellett az odds multiplikatív változása

odds ratio=odds(xj+1)odds(xj)=eβj.\text{odds ratio} = \frac{\text{odds}(x_j+1)}{\text{odds}(x_j)}=e^{\beta_j}.

Az interpretáció ezért: egységnyi prediktorváltozás az oddsot eβje^{\beta_j}-szeresére változtatja. statsmodels GLM esetben a becsült együttható a link skálán van; a predict(which="response") adja a pip_i valószínűséget.

17.4.2.2 Számlálási cél: Poisson mean

A Poisson-cél a nemnegatív egész számokra illik, amikor az egy abszolút gyakoriság. A megfigyelt YY eloszlása:

P(Yi=k∣𝐱i)=λike−λik!,λi=μi=E[Yi∣𝐱i].P(Y_i=k\mid\mathbf{x}_i)=\frac{\lambda_i^k e^{-\lambda_i}}{k!}, \qquad \lambda_i=\mu_i=E[Y_i\mid\mathbf{x}_i].

A Poisson-ferde jelleg miatt a természetes link a logaritmus:

logλi=ηi,λi=eηi.\log \lambda_i=\eta_i, \qquad \lambda_i=e^{\eta_i}.

Így az együttható a logaritmikus skálán additív; a várható átlagra vonatkozó hatása multiplikatív:

λ(xj+1)λ(xj)=eβj.\frac{\lambda(x_j+1)}{\lambda(x_j)}=e^{\beta_j}.

A βj\beta_j érték βj\beta_j-vel való növelése 100(eβj−1)100(e^{\beta_j}-1) százalékos átlagos emelkedést jelent. Például βj=0,3\beta_j=0{,}3 esetén e0,3=1,350e^{0{,}3}=1{,}350, tehát +35,0%+35{,}0\%. A Poisson-modell a varianciát is az átlaghoz köti: Var(Yi)=λi\text{Var}(Y_i)=\lambda_i. Ez a kötöttség sok valós számlálási folyamatban sérül; az ilyen overdispersion hatását a deviance és a reziduális eltérések jelzik.

17.4.2.3 Deviance mint modellösszehasonlító

A likelihoodhoz tartozó deviance (eltérés) a modellt a telített modellhez viszonyítja:

D=2(ℓsat−ℓmodel).D=2(\ell_{\text{sat}}-\ell_{\text{model}}).

A telített modell minden megfigyeléshez szabad paramétert ad, ezért a log-likelihood a lehető legnagyobb. Minél kisebb a deviance, annál jobb a modell — de a deviance önmagában nem egy 0–1 közötti jósági mutató, és függ a mintamérettől. Bináris célra a telített modell ℓsat=0\ell_{\text{sat}}=0, ezért

Dbin=−2∑i[yilnpi+(1−yi)ln(1−pi)].D_{\text{bin}}= -2\sum_i\left[y_i\ln p_i+(1-y_i)\ln(1-p_i)\right].

Poisson-célra az ℓsat\ell_{\text{sat}} konstans elhagyásával a szokásos számítás:

Dpois=2∑i[yilnyiλi−(yi−λi)],D_{\text{pois}}=2\sum_i\left[y_i\ln\frac{y_i}{\lambda_i}-(y_i-\lambda_i)\right],

ahol a 0ln00\ln 0 tagot 00-nak vesszük. A null deviance a csak interceptet tartalmazó modell deviance-a. A kettő különbsége a likelihood alapú modellösszehasonlítás alapja: ha az új prediktor a nullmodellhez képest a likelihoodot számottevően növeli, a bővített modell deviance-a kisebb. Poisson-célra a kisebb deviance a df-hez viszonyítva 1-hez közeli, ha a modell a feltételt teljesíti.

17.4.2.4 Interpretation, avagy a skálák egymás mellett

A link skálán a hatás additív, a válasz skálán általában nem. A bináris modellben βj\beta_j log odds ratio, a Poisson-modellben log rate ratio. A predikció közlésekor ezért mindig meg kell adni a skálát: a which="linear" a lineáris prediktort, a which="response" a várható célváltozót adja. A konfidenciaintervallum a link skálán szimmetrikus, de a válasz skálán a nemlineáris inverz link miatt másképp viselkedik.

17.4.3 Teljes minimális munkapélda

Az alábbi kód seedelt numpy generátorokat használ, ezért a generálási sorrend adott Python/NumPy környezetben reprodukálható. A kódot a tanuló a saját gépén futtathatja; itt csak a szemléltető, elméletileg várt kimenet szerepel, mert a szöveggenerálás nem futtatja a kódot, és egy seed sem garantál minden platformon bitazonos lebegőpontos véletlent.

import numpy as np
import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf

# --- Bináris cél: konverzió ---
rng_bin = np.random.default_rng(20261020)
n = 600
variant = np.tile(["control", "treatment"], n // 2)
segment = np.where(rng_bin.uniform(size=n) < 0.5, "consumer", "business")
eta_true = -1.0 + 0.5 * (variant == "treatment") + 0.4 * (segment == "business")
p_true = 1.0 / (1.0 + np.exp(-eta_true))
conversion = rng_bin.binomial(1, p_true)

df_bin = pd.DataFrame({
    "variant": pd.Categorical(variant),
    "segment": pd.Categorical(segment),
    "conversion": conversion,
})

# --- Poisson-cél: tételszám kiemelt ablakonként ---
rng_pois = np.random.default_rng(7)
n2 = 240
priority = rng_pois.binomial(1, 0.4, size=n2).astype(int)
rate_true = np.exp(1.2 + 0.3 * priority)
item_count = rng_pois.poisson(rate_true)

df_pois = pd.DataFrame({
    "priority": priority,
    "item_count": item_count,
})

# Illesztés és link skálán értelmezendő együtthatók
model_bin = smf.glm(
    "conversion ~ C(variant) + C(segment)",
    data=df_bin,
    family=sm.families.Binomial(),
).fit()

model_pois = smf.glm(
    "item_count ~ priority",
    data=df_pois,
    family=sm.families.Poisson(),
).fit()

print("--- Bináris GLM, szemléltető lehetséges futás ---")
print(model_bin.params.round(3))
print("Deviance:", round(model_bin.deviance, 3))
print("Null deviance:", round(model_bin.null_deviance, 3))
print()
print("--- Poisson GLM, szemléltető lehetséges futás ---")
print(model_pois.params.round(3))
print("Deviance:", round(model_pois.deviance, 3))
print("Null deviance:", round(model_pois.null_deviance, 3))

Egy lehetséges futás szemléltető kimenete:

--- Bináris GLM, szemléltető lehetséges futás ---
Intercept                 -1.01
C(variant)[T.treatment]    0.47
C(segment)[T.business]     0.36
Deviance: 781.2
Null deviance: 807.5

--- Poisson GLM, szemléltető lehetséges futás ---
Intercept                  1.19
priority                   0.31
Deviance: 241.3
Null deviance: 255.6

A C() a formula nyelvében arra kéri a Patsy réteget, hogy a variant és a segment oszlopokat kategorikus változóként kezelje. A referencia szintek ábécésorrend szerint control és consumer, ezért az együttható a treatment és a business additív hatását adja hozzá az intercepthez.

A link skálán adott η̂i\hat\eta_i és a válasz skálán adott predikció egyezését a modell saját paramétereiből ellenőrizzük. Bináris esetben a kézi számítás

p̂i=1/(1+e−η̂i),\hat p_i=1/(1+e^{-\hat\eta_i}),

Poisson esetben λ̂i=eη̂i\hat\lambda_i=e^{\hat\eta_i}. A következő kód a minta minden sorára ugyanazt az eredményt várja, mint a predict(which="response").

# Bináris kézi mátrix: Intercept, treatment, business
X_bin = np.column_stack([
    np.ones(n),
    (df_bin["variant"] == "treatment").astype(float),
    (df_bin["segment"] == "business").astype(float),
])
eta_bin = X_bin @ model_bin.params.values
p_hat = 1.0 / (1.0 + np.exp(-eta_bin))

# Poisson kézi mátrix: Intercept, priority
X_pois = np.column_stack([
    np.ones(n2),
    df_pois["priority"].astype(float),
])
eta_pois = X_pois @ model_pois.params.values
lambda_hat = np.exp(eta_pois)

# Invariáns: a kézi és a modell-predikció egyezik
assert np.allclose(model_bin.predict(which="response"), p_hat, atol=1e-10)
assert np.allclose(model_pois.predict(which="response"), lambda_hat, atol=1e-10)

# Skálatulajdonságok
assert (p_hat > 0).all() and (p_hat < 1).all()
assert (lambda_hat > 0).all()

# Deviance kézi reprodukálása
y_bin = df_bin["conversion"].values
D_bin = -2.0 * np.sum(y_bin * np.log(p_hat) + (1.0 - y_bin) * np.log(1.0 - p_hat))
y_pois = df_pois["item_count"].values
D_pois = 2.0 * np.sum(
    np.where(y_pois > 0, y_pois * np.log(y_pois / lambda_hat), 0.0)
    - (y_pois - lambda_hat)
)
assert np.allclose(D_bin, model_bin.deviance, atol=1e-8)
assert np.allclose(D_pois, model_pois.deviance, atol=1e-8)

Az assert akkor nem jelez, ha a tanuló a fenti kódot futtatva a saját futás paramétereivel számol. A tolerancia a lebegőpontos műveletek és a statsmodels belső optimalizálás közötti kerekítés miatt van.

17.4.4 Eredmény értelmezése

A bináris modellben az Intercept -1.01 a referencia csoport, tehát a control és consumer csoport becsült log oddsa. Innen

p̂control,consumer=1/(1+e1,01)≈0,267.\hat p_{\text{control,consumer}}=1/(1+e^{1{,}01})\approx0{,}267.

A treatment együttható 0,470{,}47 log odds ratio; az odds ratio exp(0,47)≈1,60\exp(0{,}47)\approx1{,}60. Tehát a kezelt ügyfelek oddsa mintegy 60%-kal nagyobb, mint az azonos szegmensbe tartozó kontrollügyfeleké. A business együttható 0,360{,}36; e0,36≈1,43e^{0{,}36}\approx1{,}43, tehát a business szegmensben az odds 43%-kal nagyobb. A konkrét valószínűségi növekmény ettől eltér: a treatment csoportban a consumer réteg becsült η=−1,01+0,47=−0,54\eta=-1{,}01+0{,}47=-0{,}54, tehát p≈0,368p\approx0{,}368; a növekmény a reference 0,2670{,}267-hez képest 10,110{,}1 százalékpont. Ugyanez a business rétegben más numerikus növekményt adhat, mert a hatás a válasz skálán nem konstans: η̂=−1,01+0,47+0,36=−0,18\hat\eta=-1{,}01+0{,}47+0{,}36=-0{,}18, p≈0,455p\approx0{,}455.

A Poisson-modell priority együtthatója 0,310{,}31 log rate ratio; e0,31≈1,363e^{0{,}31}\approx1{,}363. A kiemelt ablakokban a várható tételszám a nem kiemelthez képest 36,3%-kal nagyobb. Az alapablak várható tételszáma exp(1,19)≈3,29\exp(1{,}19)\approx3{,}29; a kiemelt ablaké 3,29⋅1,363≈4,483{,}29\cdot1{,}363\approx4{,}48. A predikció a válasz skálán tehát nem az együttható hozzáadásával, hanem az exponenciális linkkel kapható meg.

A deviance a bináris példában a nulldeviancához képest kisebb, de önmagában nem jelenti azt, hogy a modell „jól” magyarázza a konverziót. A Poisson-példában a modell deviance 241,3241{,}3 a reziduális szabadságfokkal 240−2=238240-2=238; ez az 1 körüli eltérés azt jelzi, hogy a generálás pontosan Poisson, tehát a szórásfeltétel ezen a kis szintetikus mintán nem sérül durván.

A konfidenciaintervallumok a link skálán szimmetrikusak; a válasz skálán a végpontok inverz linkkel transzformáltak. A get_prediction().summary_frame() kimenete ezt a válasz skálán jeleníti meg, ezért a mean oszlop a p̂\hat p-t vagy λ̂\hat\lambda-t tartalmazza, a csúcsok pedig a megadott névleges szintű intervallumot.

GLM-ellenőrzés: binomiális logitnál az együttható log-odds skálájú, exp(β) esélyhányados, nem kockázati arány. Poisson-modellnél az exp(β) feltételes várható számlálás aránya; a túlzott diszperzió ellenőrzése nélkül a standard hibák félrevezetők lehetnek.

17.4.5 Feladatok

  1. Értelmezés. Egy másik bináris GLM-illesztés paraméterei: Intercept −2,0-2{,}0, treatment 0,70{,}7. (a) Számítsa ki a kezelt és a kontroll csoport becsült valószínűségét. (b) Számítsa ki az odds ratio-t, a kockázati arányt és a százalékpontos különbséget. Melyik egyenlő az exp(0,7)\exp(0{,}7) értékkel?

  2. Implementálás. A fenti model_bin modellt használva kérje le a get_prediction().summary_frame(alpha=0.05) egy oszlopát a válasz skálán. Ellenőrizze, hogy a mean oszlop numerikusan illeszkedik a kézzel számolt p_hat tömbhöz, és a mean_ci_lower/mean_ci_upper oszlopok a [0,1][0,1] tartományba esnek. Miért nem feltétlenül szimmetrikus a CI a mean körül?

  3. Hibadiagnózis. Egy kolléga a Poisson-modell priority együtthatóját, 0,310{,}31-et, így értelmezi: „a kiemelt ablakokban 0,310{,}31 plusz tétel van”. Nevezze meg a hibát, javítsa ki, és mutassa meg számszerűen, miért függ az abszolút többlet az alapszinttől.

  4. Megváltozott feltétel. Az adatgyűjtés megváltozik: minden sor egy ügyfél, de a megfigyelési ablak hossza nem azonos; a táblában events a megfigyelt események száma, days pedig a megfigyelési napok száma. A cél a napi eseményráta kezelés előtti és utáni aránya. Adjon meg statsmodels formulás GLM-et a megfelelő offsettel, magyarázza, miért log offset kell, és adja meg az ellenőrző invariánst.

17.4.6 Megoldások és indoklás

1. megoldás. Az intercept a kontrollcsoport log oddsa: η0=−2\eta_0=-2, tehát p̂0=1/(1+e2)≈0,119\hat p_0=1/(1+e^2)\approx0{,}119. A kezelt csoport η1=−2+0,7=−1,3\eta_1=-2+0{,}7=-1{,}3, p̂1=1/(1+e1,3)≈0,214\hat p_1=1/(1+e^{1{,}3})\approx0{,}214. Az odds ratio exp(0,7)≈2,014\exp(0{,}7)\approx2{,}014, ez az egyetlen, ami közvetlenül az exponenciális együtthatóval egyenlő. A kockázati arány p̂1/p̂0=0,214/0,119≈1,80\hat p_1/\hat p_0=0{,}214/0{,}119\approx1{,}80; a százalékpontos különbség 0,214−0,119=0,0950{,}214-0{,}119=0{,}095, azaz 9,59{,}5 százalékpont. A valós generáló hatás ezen a konkrét ponton ezért nem 0,70{,}7 és nem 101,4%101{,}4\% valószínűségnövekedés.

2. megoldás.

frame_bin = model_bin.get_prediction().summary_frame(alpha=0.05)

# Invariáns: a summary_frame mean oszlopa a response skálán van
assert np.allclose(frame_bin["mean"].values, p_hat, atol=1e-10)
assert frame_bin["mean_ci_lower"].between(0, 1).all()
assert frame_bin["mean_ci_upper"].between(0, 1).all()

# A link skálán definiált intervallum a nemlineáris inverz link miatt
# a válasz skálán csak akkor lesz pontosan szimmetrikus, ha p = 0.5.
print(frame_bin[["mean", "mean_ci_lower", "mean_ci_upper"]].head(3))

A bináris modellben a link skálán az intervallum ugyanolyan széles a pont körül, de az inverz logit balról jobbra lapos, ezért a p̂\hat p körüli távolság a válasz skálán a tartomány belsejében eltérő. A konkrét statsmodels verzió summary_frame viselkedését a tanulónak érdemes a saját környezetében help(model_bin.get_prediction().summary_frame) paranccsal ellenőriznie; az állítás maga a skálatranszformáció matematikája.

3. megoldás. A hiba háromszoros. Először is az együttható a logaritmikus link skálán van, ezért önmagában nem az események átlagos számához adódik. Másodszor a link inverze miatt a hatás multiplikatív: e0,31=1,363e^{0{,}31}=1{,}363, azaz a várható tételszám 36,3%36{,}3\%-kal nagyobb. Harmadszor az abszolút többlet a baseline rate függvénye. Ha a nem kiemelt ablak várható tételszáma λ0=exp(1,19)≈3,29\lambda_0=\exp(1{,}19)\approx3{,}29, akkor a kiemelt várható érték λ1=3,29⋅1,363≈4,48\lambda_1=3{,}29\cdot1{,}363\approx4{,}48, a többlet 1,191{,}19 tétel. Ha a baseline λ0=10\lambda_0=10, akkor a kiemelt várható 13,6313{,}63, a többlet 3,633{,}63. Az additív 0,310{,}31 ezért semmilyen ponton nem helytálló a válasz skálán.

4. megoldás. Ha a megfigyelési ablak hossza days, akkor a Poisson-modell várható eseményszáma

λi=daysi⋅eηi.\lambda_i=\text{days}_i\cdot e^{\eta_i}.

Logaritmálva:

logλi=log(daysi)+ηi.\log\lambda_i=\log(\text{days}_i)+\eta_i.

A log(daysi)\log(\text{days}_i) tag ismert konstans, ezért a modellbe offsetként kerül. A megoldás mintapéldája:

rng4 = np.random.default_rng(11)
n4 = 180
treatment = rng4.binomial(1, 0.5, size=n4)
days = rng4.choice([1, 3, 7], size=n4)
rate4 = np.exp(0.0 + 0.2 * treatment)
events = rng4.poisson(rate4 * days)
df4 = pd.DataFrame({"treatment": treatment, "days": days, "events": events})

model4 = smf.glm(
    "events ~ treatment",
    data=df4,
    family=sm.families.Poisson(),
    offset=np.log(df4["days"]),
).fit()

# Invariáns: a várható events egyenlő days * exp(eta)
X4 = np.column_stack([np.ones(n4), treatment.astype(float)])
eta4 = X4 @ model4.params.values
expected_events = df4["days"].values * np.exp(eta4)
assert np.allclose(model4.predict(which="response"), expected_events, atol=1e-8)

# A napi ráta aránya a kezelés esetén:
rr = np.exp(model4.params["treatment"])
print("becsült napi rate ratio:", round(rr, 3))

Az offset nélkül a modell a nyers eseményszámot magyarázná, és a hosszabb ablakok nagyobb célértéke a kezeléshez nem kapcsolódó hatást torzítaná. A predict(which="response") itt a várható eseményszámot adja; a várható napi ráta exp(ηi)\exp(\eta_i). A becsült treatment együttható a napi ráta log aránya, a rate ratio pedig a megfelelő exponenciális.

17.4.7 Gyakori tévedés ellenpéldával

A leggyakoribb félreértés: az odds ratio nem kockázati arány és nem százalékpontos különbség. Példa: OR=2\text{OR}=2 és p0=0,5p_0=0{,}5. Ekkor odds0=1\text{odds}_0=1, odds1=2\text{odds}_1=2, ezért p1=2/(1+2)=0,667p_1=2/(1+2)=0{,}667. A kockázati arány 1,331{,}33, a százalékpontos különbség 16,716{,}7 százalékpont; egyik sem 22 és nem 100%100\%. Más induló szintnél ugyanez az OR más abszolút különbséget ad. Ez ugyanaz a skálaugrás, mint amikor az IV. ellenőrző pont: korrekt statisztikai állítás kísérleti összefoglalójában a kockázati különbség volt a primer hatás; a logisztikus regresszióban viszont az OR a természetes interpretációs skála.

A Diagnosztika és robusztus standard error robusztus standard hibájának logikája itt is érvényes: a p-érték a nullmodell szerinti feltételes szélsőség, nem a paraméter igaz valószínűsége. A cov_type="HC0" változat a GLM-ben is kérhető, de a modell szerkezeti feltételeit nem cseréli le. A bináris és Poisson GLM korlátja, hogy a variancia nem szabad paraméter; ha a Poisson-eloszlás szórása a gyakorlatban nagyobb, a szokásos Wald-intervallum túl optimista lehet, és a deviance-t sem szabad R2R^2-ként olvasni.

17.4.8 Önellenőrzés

Az eredmény akkor helyes, ha (1) a predict(which="response") a bináris modellnél a [0,1][0,1] tartományban, a Poissonnál pozitív tartományban marad; (2) a kézi exp(η̂)\exp(\hat\eta) és expit(η̂)\operatorname{expit}(\hat\eta) np.allclose módon illeszkedik; (3) a modell deviance nem nagyobb, mint a null deviance, mert a bővített modell likelihoodja legalább akkora; (4) minden értelmezés megnevezi, hogy log oddsról, odds ratio-ról, kockázati arányról vagy válasz-skálás átlagról van szó.

17.4.9 Rövid összefoglaló

A GLM a lineáris prediktort linkfüggvénnyel kapcsolja a cél várható értékéhez. A bináris célhoz tartozó logit link a log oddsot modellezi, ezért az együttható exponense odds ratio; a Poisson-cél logaritmusos linkje a várható eseményszámot, az együttható exponense pedig rate ratio-t ad. A deviance a likelihood összehasonlító mértéke, de önmagában nem abszolút jósági mutató. Az értelmezést mindig az adott skálán kell megadni. A következő alkalmazásban ezt a GLM-keretet oksági kísérleti értelmezéssel kötjük össze, ahol a kontrollváltozók és a randomizálás szerepe egészíti ki a becslést.