Tolka koefficienter

Generaliserade linjära modeller i Python

Ita Cirovic Donev

Data Science Consultant

Modellkoefficienter

Statistisk sammanfattning av den anpassade modellen, med kolumnen coef markerad.

Generaliserade linjära modeller i Python

Koefficienten beta

  • $\beta > 0 \rightarrow$ stigande kurva

Logistisk modellanpassning av arsenik och switch.

  • $\beta < 0 \rightarrow$ fallande kurva

Logistisk modellanpassning av distance100 och switch.

Generaliserade linjära modeller i Python

Linjär vs logistisk

LINJÄR MODELL

glm('y ~ weight', 
    data = crab, 
    family = sm.families.Gaussian())

$\mu = -0.14 + \color{#B21AB4}{0.32}*weight$

För varje enhetsökning i weight

  • $\text{\color{#B21AB4}{skattad sannolikhet}}$ ökar med 0,32

LOGIT-MODELL

glm('y ~ weight', 
    data = crab, 
    family = sm.families.Binomial())

$log(odds) = -3.69 + \color{#228FF5}{1.8}*weight$

För varje enhetsökning i weight

  • $\text{\color{#228FF5}{log(odds)}}$ ökar med 1,8
Generaliserade linjära modeller i Python

Tolka log-odds

  • Logistisk modell $$ log(\frac{\mu}{1-\mu}) = \beta_0 + \beta_1x_1 $$

  • Öka $x$ med en enhet $$ log(\frac{\mu}{1-\mu}) = \beta_0 + \beta_1\color{blue}{(x_1+1)} $$

Generaliserade linjära modeller i Python

Tolka log-odds

  • Logistisk modell $$ log(\frac{\mu}{1-\mu}) = \beta_0 + \beta_1x_1 $$

  • Öka $x$ med en enhet $$ log(\frac{\mu}{1-\mu}) = \beta_0 + \beta_1\color{blue}{(x_1+1)} = \beta_0 + \color{blue}{\beta_1x_1+\beta_1} $$

  • Ta exponentialfunktionen $$ (\frac{\mu}{1-\mu}) = \color{red}{\exp(\beta_0 + \beta_1x_1)}\color{blue}{\exp(\beta_1)} $$

Slutsats $\rightarrow$ $\color{red}{\text{odds}}$ multipliceras med $\color{blue}{\exp(\beta_1)}$

Generaliserade linjära modeller i Python

Tolka log-odds

  • Krabbmodell y ~ weight $$ log(\frac{\mu}{1-\mu}) = -3.6947 + \color{blue}{1.815}*weight $$

  • Oddsen för satellitkrabba multipliceras med $\color{blue}{\exp(1.815) = 6.14}$ vid en enhets ökning i weight

Generaliserade linjära modeller i Python

Tolka log-odds

  • Krabbmodell y ~ weight $$ log(\frac{\mu}{1-\mu}) = \color{blue}{-3.6947} + 1.8151*weight $$

  • Oddsen för satellitkrabba multipliceras med $\exp(1.8151) = 6.14$ vid en enhets ökning i weight

  • Interceptkoefficienten $\color{blue}{-3.6947}$ anger baseline-log-odds
    • $\color{blue}{\exp(-3.6947)=0.0248}$ är oddsen när $weight = 0$.
Generaliserade linjära modeller i Python

Sannolikhet vs logistisk anpassning

Logistisk anpassning på spridningsdiagrammet för studietimmar och godkänt/underkänt på testet.

Generaliserade linjära modeller i Python

Sannolikhet vs logistisk anpassning

Indikation på liten sannolikhetsförändring givet den logistiska anpassningen och värdet på den förklarande variabeln.

Generaliserade linjära modeller i Python

Sannolikhet vs logistisk anpassning

Indikation på stor sannolikhetsförändring givet den logistiska anpassningen och värdet på den förklarande variabeln.

  • lutning $\rightarrow \beta \times \mu(1-\mu)$
Generaliserade linjära modeller i Python

Sannolikhet vs logistisk anpassning

Indikation på den största sannolikhetsförändringen givet den logistiska anpassningen och värdet på den förklarande variabeln.

  • lutning $\rightarrow \beta \times \mu(1-\mu)$
Generaliserade linjära modeller i Python

Beräkna förändring i skattad sannolikhet

# Choose x (weight) and extract model coefficients
x = 1.5
intercept, slope = model_GLM.params
# Compute estimated probability
est_prob = np.exp(intercept + slope * x)/(1 + np.exp(intercept + slope * x))
0.2744
# Compute incremental change in estimated probability given x
ic_prob = slope * est_prob * (1 - est_prob)
0.3614
Generaliserade linjära modeller i Python

Sannolikhetens förändringshastighet för varje x

$logit = -3.6947 + 1.8151*weight$

Generaliserade linjära modeller i Python

Nu kör vi en övning!

Generaliserade linjära modeller i Python

Preparing Video For Download...