Как поместить параметр OLS statsmodels в словарь? - PullRequest
0 голосов
/ 24 января 2019

Я подгоняю свои данные с помощью линейной регрессии. Я хочу поместить параметр результатов y= ax+b в словарь. Мне нужно извлечь (a,b):

params_dict = defaultdict(list)
results = sm.OLS(Y, sm.add_constant(X)).fit()
print('params('+str(key)+','+str(train_key)+') = '+str(results.params))
print('confidence_Interval('+str(key)+','+str(train_key)+') = '+str(results.conf_int(alpha=0.05, cols=None)))
params_dict['Pair_Nodes'].append((key,train_key))
params_dict['param_A'].append(float(results.params[0]))
params_dict['param_B'].append(float(results.params[1]))

Однако я получил эту ошибку:

    params_dict['param_B'].append(float(results.params[1]))
IndexError: index 1 is out of bounds for axis 0 with size 1

Я хочу, чтобы результаты выглядели так:

params_dict={('Node1,Node2','A','B'),('Node1,Node2','A','B'),..}

Это параметр, в котором у меня вывод проблемы:

params(02141592cc00000001,02141592cc00000001) = [6.46004214e-10]

Ожидаемый словарь:

defaultdict(<class 'list'>, {'param_A': [2.5039286220812003e-18], 'Pair': [('02141592cc00000001', '02141592cc00000001')], 'param_B': [3.8760252600949106e-09]})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...