如何将statsmodels OLS参数放入字典中?

时间:2019-01-24 16:15:42

标签: python statsmodels

我正在使用线性回归拟合数据。我想将参数结果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]})
    --

0 个答案:

没有答案