Ich habe versucht, das XLogit -Paket in Python zu einem gemischten Logit -Modell zu verwenden /mixed_logit_model.html#car-dataset
Code: Select all
import pandas as pd
import numpy as np
from xlogit import MixedLogit
df = pd.read_csv("https://raw.github.com/arteagac/xlogit/master/examples/data/car100_long.csv")
df['price'] = -df['price']/10000
df['opcost'] = -df['opcost']
varnames = ['hiperf', 'medhiperf', 'price', 'opcost', 'range', 'ev', 'hybrid']
model = MixedLogit()
model.fit(X=df[varnames],
y=df['choice'],
varnames=varnames,
alts=df['alt'],
ids=df['choice_id'],
panels=df['person_id'],
randvars = {'price': 'ln', 'opcost': 'n',
'range': 'ln', 'ev':'n', 'hybrid': 'n'},
n_draws = 100)
model.summary()
Und
ich möchte zwei neue Spalten Utility und vorhergesagt_Probability für den ursprünglichen Datensatz erstellen, der das geschätzte "Dienstprogramm" jeder Alternative zurückgibt (d. H. Das v_n^ j In der Dokumentation:
https://arteartac.github.io/xlogit.pdf) und die vorhergesagte Wahrscheinlichkeit. Das XLogit -Paket bietet eine Vorhersage , mit der die Wahrscheinlichkeiten der Auswahl jeder Alternative für jede Person zurückgegeben werden können. Ich weiß jedoch nicht, wie man das geschätzte Dienstprogramm mit dem angepassten Modell schnell berechnet.