Generalized Linear Models in Python
Ita Cirovic Donev
Data Science Consultant

$\color{#00A388}{\text{salary}} \sim \color{#FF6138}{\text{experience}}$
$\normalsize{\color{#00A388}{\text{salary}} = \beta_0 + \beta_1\times\color{#FF6138}{\text{experience}} + \epsilon}$
$\normalsize{\color{#00A388}y = \beta_0 + \beta_1x_1 + \epsilon}$

$\color{#00A388}{\text{salary}} \sim \color{#FF6138}{\text{experience}}$
$\color{#00A388}{\text{salary}} = \beta_0 + \beta_1\times{\text{experience}} + \epsilon$
$\color{#00A388}y = \beta_0 + \beta_1x_1 + \epsilon$
where:
$\color{#00A388}y$ - 反應變數(輸出)

$\color{#00A388}{\text{salary}} \sim \color{#FF6138}{\text{experience}}$
$\normalsize{\color{#00A388}{\text{salary}} = \beta_0 + \beta_1\times\color{#FF6138}{\text{experience}} + \epsilon}$
$\normalsize{\color{#00A388}y = \beta_0 + \beta_1\color{#FF6138}{x_1} + \epsilon}$
where:
$y$ - 反應變數(輸出)
$\color{#FF6138}x$ - 解釋變數(輸入)

$\color{#00A388}{\text{salary}} \sim \color{#FF6138}{\text{experience}}$
$\normalsize{\color{#00A388}{\text{salary}} = \color{#007AFF}{\beta_0} + \color{#007AFF}{\beta_1}\times\color{#FF6138}{\text{experience}} + \epsilon}$
$\normalsize{\color{#00A388}y = \color{#007AFF}{\beta_0} + \color{#007AFF}{\beta_1}\color{#FF6138}{x_1} + \epsilon}$
where:
$y$ - 反應變數(輸出)
$x$ - 解釋變數(輸入)
$\color{#007AFF}{\beta}$ - 模型參數
$\color{#007AFF}{\beta_0}$ - 截距
$\color{#007AFF}{\beta_1}$ - 斜率

$\color{#00A388}{\text{salary}} \sim \color{#FF6138}{\text{experience}}$
$\normalsize{\color{#00A388}{\text{salary}} = \color{#007AFF}{\beta_0} + \color{#007AFF}{\beta_1}\times\color{#FF6138}{\text{experience}} + \color{#B12BFF}\epsilon}$
$\normalsize{\color{#00A388}y = \color{#007AFF}{\beta_0} + \color{#007AFF}{\beta_1}\color{#FF6138}{x_1} + \color{#B12BFF}\epsilon}$
where:
$y$ - 反應變數(輸出)
$x$ - 解釋變數(輸入)
$\color{#007AFF}{\beta}$ - 模型參數
$\color{#007AFF}{\beta_0}$ - 截距
$\color{#007AFF}{\beta_1}$ - 斜率
$\color{#B12BFF}{\epsilon}$ - 隨機誤差
LINEAR MODEL - ols()
from statsmodels.formula.api import ols
model = ols(formula = 'y ~ X',
data = my_data).fit()
GENERALIZED LINEAR MODEL - glm()
import statsmodels.api as sm
from statsmodels.formula.api import glm
model = glm(formula = 'y ~ X',
data = my_data,
family = sm.families.____).fit()

$$ \normalsize{{\text{salary} = \color{blue}{25790} + \color{blue}{9449}\times\text{experience}}} $$
迴歸函式
$\normalsize{E[y] = \mu = \beta_0 + \beta_1x_1}$
假設

| Variable Name | Description |
|---|---|
sat |
巢中共生的雄蟹(satellite)數量 |
y |
巢中是否至少有一隻共生雄蟹;0/1 |
weight |
雌蟹重量(kg) |
width |
雌蟹寬度(cm) |
color |
1 - 淺中、2 - 中等、3 - 深中、4 - 深色 |
spine |
1 - 兩側良好、2 - 一側磨損或斷裂、3 - 兩側磨損或斷裂 |
$\text{satellite crab} \sim \text{female crab weight}$
y ~ weight
$P(\text{satellite crab is present})=P(y=1)$






Generalized Linear Models in Python