es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estimando múltiples parámetros de un modelo en python.

¿Te preguntas cuál es la forma más eficiente y precisa de estimar estos parámetros (a0, a1, a2, a3) con Python en el modelo?

La ecuación sería:

col_4 = a0 + a1*col_1 + a2*col_2 + a3*col_3

El conjunto de datos de muestra sería:

inputs = {
    'col_1': np.random.normal(15,2,100),
    'col_2': np.random.normal(15,1,100),
    'col_3': np.random.normal(0.9,1,100),
    'col_4': np.random.normal(-0.05,0.5,100),
}
idx = pd.date_range('2021-01-01','2021-04-10',freq='D').to_series()
data = pd.DataFrame(inputs, index = idx) 
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para estimar los parámetros (a0, a1, a2, a3) en el modelo:

    col_4 = a0 + a1*col_1 + a2*col_2 + a3*col_3

    con Python, una forma de hacerlo es utilizando el paquete statsmodels. Específicamente, podemos utilizar el método de Mínimos Cuadrados Ordinarios (OLS) para ajustar el modelo y obtener las estimaciones de los parámetros.

    Aquí hay un código de ejemplo que muestra cómo hacerlo:

    import numpy as np
    import pandas as pd
    import statsmodels.api as sm
    
    # generar conjunto de datos de muestra
    inputs = {
        'col_1': np.random.normal(15,2,100),
        'col_2': np.random.normal(15,1,100),
        'col_3': np.random.normal(0.9,1,100),
        'col_4': np.random.normal(-0.05,0.5,100),
    }
    _idx = pd.date_range('2021-01-01','2021-04-10',freq='D').to_series()
    data = pd.DataFrame(inputs, index = _idx)
    
    # ajustar el modelo utilizando OLS
    X = data[['col_1', 'col_2', 'col_3']]
    X = sm.add_constant(X)
    y = data['col_4']
    model = sm.OLS(y, X).fit()
    
    # imprimir las estimaciones de los parámetros
    print(model.params)
    

    Esto mostrará los valores estimados para (a0, a1, a2, a3) como coeficientes del modelo.

Comments are closed.