Я хотел бы выполнить простую линейную регрессию, используя statsmodels, и я уже пробовал несколько различных методов, но я просто не могу заставить ее работать.Код, который я построил сейчас, не дает мне никаких ошибок, но он также не показывает мне результат
Я пытаюсь создать модель для переменной «Направление», которая принимает значение 0, есливозврат на соответствующую дату был отрицательным и 1, если он был положительным.Объяснительные переменные - это (5) лаги возвратов.Df13 содержит лаги, а также направление для каждой наблюдаемой даты.Я попробовал этот код, и, как я уже говорил, он не выдает ошибку, а говорит: «Оптимизация успешно завершена. Текущее значение функции: 0.682314 Итерации 5
Однако я хотел бы увидеть типичную таблицу со всеми значениями бета-версии, их значимостьюи т. д.
Кроме того, что бы вы сказали, поскольку Direction - это двоичная переменная, может быть, лучше использовать logit вместо линейной модели? Однако в задании это выглядит как линейная модель.
И, наконец, мне жаль, что он не отображается здесь правильно, но я не знаю, как написать в виде кода или вставить мой фрейм данных
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
import os
import itertools
from sklearn import preprocessing
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
import statsmodels.api as sm
import matplotlib.pyplot as plt
from statsmodels.sandbox.regression.predstd import wls_prediction_std
...
X = df13[['Lag1', 'Lag2', 'Lag3', 'Lag4', 'Lag5']]
Y = df13['Direction']
X = sm.add_constant(X)
model = sm.Logit(Y.astype(float), X.astype(float)).fit()
predictions = model.predict(X)
print_model = model.summary
print(print_model)
Редактировать: я уверен, что это должен быть логитрегрессия, поэтому я обновил эту часть