Articles of statsmodels

Python 2.7 – statsmodels – formato y escritura de resultados de resumen

Estoy haciendo regresión logística utilizando pandas 0.11.0 (manejo de datos) y statsmodels 0.4.3 para hacer la regresión real, en Mac OSX Lion. Voy a ejecutar ~ 2,900 modelos diferentes de regresión logística y necesitaré los resultados en un archivo csv y formateados de una manera particular. Actualmente, solo soy consciente de hacer print result.summary() que […]

Capturando alta multi-colinealidad en statsmodels

Digamos que encajo un modelo en statsmodels mod = smf.ols(‘dependent ~ first_category + second_category + other’, data=df).fit() Cuando hago mod.summary() puedo ver lo siguiente: Warnings: [1] The condition number is large, 1.59e+05. This might indicate that there are strong multicollinearity or other numerical problems. A veces, la advertencia es diferente (por ejemplo, basada en valores […]

Faltan las intercepciones de los modelos de regresión OLS en los modelos de estadísticas de Python

Estoy ejecutando un balanceo, por ejemplo, de una OLS regression estimation de OLS regression estimation de 100 ventanas del conjunto de datos que se encuentra en este enlace ( https://drive.google.com/drive/folders/0B2Iv8dfU4fTUMVFyYTEtWXlzYkk ) como se muestra en el siguiente formato. time XY 0.000543 0 10 0.000575 0 10 0.041324 1 10 0.041331 2 10 0.041336 3 10 […]

¿Cómo agregar sum a cero restricción a GLM en Python?

Tengo un modelo configurado en Python con la función statsmodel glm , pero ahora quiero agregar una sum a cero en el modelo. El modelo se define de la siguiente manera: import statsmodels.formula.api as smf model = smf.glm(formula=”A ~ B + C + D”, data=data, family=sm.families.Poisson()).fit() En R, para agregar la restricción, simplemente haría algo […]

ImportError: error en la carga de DLL: al importar statsmodels

Mi versión de Python es 3.5 en win32. Instalé con éxito Numpy + MKL, Scipy y Statsmodels desde aquí http://www.lfd.uci.edu/~gohlke/pythonlibs/ Sin embargo, cuando corro import statsmodels as sm Obtuve el siguiente error: Traceback (most recent call last): File “D:\Python\Innovation\try\Try_Reg.py”, line 6, in import statsmodels as sm File “C:\Python35\lib\site-packages\statsmodels\__init__.py”, line 8, in from .tools.sm_exceptions import (ConvergenceWarning, […]

Cómo aplicar OLS de statsmodels a groupby

Estoy ejecutando OLS en productos por mes. Si bien esto funciona bien para un solo producto, mi dataframe contiene muchos productos. Si creo un groupby objeto OLS da un error. linear_regression_df: product_desc period_num TOTALS 0 product_a 1 53 3 product_a 2 52 6 product_a 3 50 1 product_b 1 44 4 product_b 2 43 7 […]

Python: coeficiente de variación ponderado

¿Cómo puedo calcular el coeficiente de variación ponderado (CV) sobre una matriz NumPy en Python? Está bien usar cualquier paquete popular de Python de terceros para este propósito. Puedo calcular el CV utilizando scipy.stats.variation , pero no está ponderado. import numpy as np from scipy.stats import variation arr = np.arange(-5, 5) weights = np.arange(9, -1, […]

Efecto fijo en Pandas o Statsmodels

¿Existe una función para estimar el efecto fijo (unidireccional o bidireccional) de Pandas o Statsmodels? Solía ​​haber una función en Statsmodels pero parece descontinuada. Y en Pandas, hay algo que se llama plm , pero no puedo importarlo o ejecutarlo usando pd.plm() .

Ejecutar una regresión OLS con Pandas Data Frame

Tengo un dataframe de pandas y me gustaría poder predecir los valores de la columna A a partir de los valores de las columnas B y C. Aquí hay un ejemplo de juguete: import pandas as pd df = pd.DataFrame({“A”: [10,20,30,40,50], “B”: [20, 30, 10, 40, 50], “C”: [32, 234, 23, 23, 42523]}) Idealmente, tendría […]

¿Por qué se reduciría R-Squared cuando agrego una variable exógena en OLS usando los modelos de estadísticas de Python?

Si entiendo el modelo OLS correctamente, este nunca debería ser el caso? trades[‘const’]=1 Y = trades[‘ret’]+trades[‘comms’] #X = trades[[‘potential’, ‘pVal’, ‘startVal’, ‘const’]] X = trades[[‘potential’, ‘pVal’, ‘startVal’]] from statsmodels.regression.linear_model import OLS ols=OLS(Y, X) res=ols.fit() res.summary() Si enciendo la constante, obtengo un rsquared de 0.22 y con él apagado, obtengo 0.43. ¿Cómo es eso posible?