ValueError: endog muss in der Einheit Intervall

Während der Verwendung statsmodels, ich bin immer diese komische Fehlermeldung: ValueError: endog must be in the unit interval. Kann mir jemand mehr Informationen über diesen Fehler? Google ist nicht zu helfen.

Code erzeugt die Fehlermeldung:

"""
Multiple regression with dummy variables. 
"""

import pandas as pd
import statsmodels.api as sm
import pylab as pl
import numpy as np

df = pd.read_csv('cost_data.csv')
df.columns = ['Cost', 'R(t)', 'Day of Week']
dummy_ranks = pd.get_dummies(df['Day of Week'], prefix='days')
cols_to_keep = ['Cost', 'R(t)']
data = df[cols_to_keep].join(dummy_ranks.ix[:,'days_2':])
data['intercept'] = 1.0

print(data)

train_cols = data.columns[1:]
logit = sm.Logit(data['Cost'], data[train_cols])

result = logit.fit()

print(result.summary())

Und der traceback:

Traceback (most recent call last):
  File "multiple_regression_dummy.py", line 20, in <module>
    logit = sm.Logit(data['Cost'], data[train_cols])
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/statsmodels/discrete/discrete_model.py", line 404, in __init__
    raise ValueError("endog must be in the unit interval.")
ValueError: endog must be in the unit interval.
  • Vielleicht überprüfen Sie diese Bedingung, dass dieser Fehler erzeugt: if (self.__Klasse__.__name__ != 'MNLogit' und nicht np.alle((self.endog >= 0) & (selbst.endog <= 1))): raise ValueError("endog muss in der Einheit Intervall.")
  • Was ist Ihre Cost Daten? Logit erfordert, dass die abhängige variable (endog) ist in der Einheit Intervall. Wenn Sie möchten, dass die Logistische regression mit Werten in einem anderen Intervall, dann müssen Sie zusammenarbeiten, um Ihre Werte, so dass Sie in der Einheit Intervall. Allerdings Logit-nicht erforderlich, dass die endog sind 0 und 1 ganze zahlen, so können wir es verwenden, für Proportionen.
  • Ah Cost ist nicht in der Einheit Intervall. Keine Ahnung warum Logit benötigt?
  • Die zugrunde liegende Verteilung der Logit ist eine Bernoulli-Verteilung, die Werte 0 und 1. Dies kann erweitert werden auf beliebige Werte zwischen 0 und 1, aber die Funktionen sind nicht definiert außerhalb des unit-Intervalls. Wenn Sie eine positive abhängigen variable und einer exponentiellen meine Funktion dann die Poisson-Verteilung kann verwendet werden, auch wenn die Daten continous. Für ungebundene kontinuierliche Daten das übliche Modell ist OLS.
InformationsquelleAutor Edward Yu | 2015-07-09
Schreibe einen Kommentar