typestar

La API de fórmulas en Python

Una fórmula de patsy se lee como el modelo que escribirías en papel.

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

rng = np.random.default_rng(1)
tabla = pd.DataFrame({
    "practica": np.arange(1, 81),
    "horas": rng.uniform(0.5, 3.0, size=80),
})
tabla["tpm"] = (70 + 0.6 * tabla["practica"] + 4 * tabla["horas"]
                + rng.normal(0, 3, size=80))

modelo = smf.ols("tpm ~ practica + horas", data=tabla).fit()
print(modelo.params.round(3).to_dict())
print(round(modelo.fvalue, 2), f"{modelo.f_pvalue:.2e}")
print(modelo.summary().tables[0].data[0])

Cómo funciona

  1. y ~ x1 + x2 nombra la respuesta y los predictores.
  2. El intercepto viene incluido salvo que lo restes.
  3. El argumento data es un DataFrame, y las columnas se buscan por nombre.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
501
Tokens
179
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 102 segundos.

Escribe este fragmento

Paso 2 de 3 en Modelos lineales; paso 2 de 19 en Estadística con statsmodels.

← Anterior Siguiente →