相关疑难解决方法(0)

在散点图中显示置信限和预测限制

我有两个数据阵列,如高度和重量:

import numpy as np, matplotlib.pyplot as plt

heights = np.array([50,52,53,54,58,60,62,64,66,67,68,70,72,74,76,55,50,45,65])
weights = np.array([25,50,55,75,80,85,50,65,85,55,45,45,50,75,95,65,50,40,45])

plt.plot(heights,weights,'bo')
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想制作类似于此的情节:

http://www.sas.com/en_us/software/analytics/stat.html#m=screenshot6

在此输入图像描述

任何想法都表示赞赏.

numpy matplotlib scipy seaborn

11
推荐指数
3
解决办法
1万
查看次数

计算最小二乘拟合的置信带

我有一个问题,我现在打了好几天.

如何计算拟合的(95%)置信区间?

将曲线拟合到数据是每个物理学家的日常工作 - 所以我认为这应该在某个地方实现 - 但我找不到这方面的实现,我也不知道如何以数学方式做到这一点.

我发现的唯一一件事就是线性最小二乘seaborn做得很好.

import numpy as np                                                                                                                                                                                                                         
from matplotlib import pyplot as plt
import seaborn as sns
import pandas as pd

x = np.linspace(0,10)
y = 3*np.random.randn(50) + x

data = {'x':x, 'y':y}
frame = pd.DataFrame(data, columns=['x', 'y'])
sns.lmplot('x', 'y', frame, ci=95)

plt.savefig("confidence_band.pdf")
Run Code Online (Sandbox Code Playgroud)

线性最小二乘

但这只是线性最小二乘法.当我想要拟合例如饱和度曲线时饱和EQN,我搞砸了.

当然,我可以从最小二乘法的标准误差计算t分布,scipy.optimize.curve_fit但这不是我正在寻找的.

谢谢你的帮助!!

python statistics regression confidence-interval

6
推荐指数
1
解决办法
5913
查看次数

通过重复输入来绘制置信度和预测间隔

我有两个变量的相关图,x轴上的预测变量(温度)和y轴上的响应变量(密度)。我最适合的最小二乘回归线是二阶多项式。我还要绘制置信度和预测间隔。答案中描述的方法似乎很完美。但是,我的数据集(n = 2340)对许多(x,y)对都有重复的条目。我得到的情节看起来像这样: 在此处输入图片说明

这是我的相关代码(从上面的链接答案中略作修改):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.sandbox.regression.predstd import wls_prediction_std
import statsmodels.formula.api as smf    
from statsmodels.stats.outliers_influence import summary_table

d = {'temp': x, 'dens': y}
df = pd.DataFrame(data=d)

x = df.temp
y = df.dens

plt.figure(figsize=(6 * 1.618, 6))
plt.scatter(x,y, s=10, alpha=0.3)
plt.xlabel('temp')
plt.ylabel('density')

# points linearly spaced for predictor variable
x1 = pd.DataFrame({'temp': np.linspace(df.temp.min(), df.temp.max(), 100)})

# 2nd order polynomial
poly_2 = smf.ols(formula='dens ~ 1 + temp + I(temp …
Run Code Online (Sandbox Code Playgroud)

python regression pandas statsmodels

5
推荐指数
1
解决办法
2936
查看次数

回归模型 statsmodel python

这更多是一个统计问题,因为代码运行良好,但我正在学习 python 中的回归建模。我在下面使用 statsmodel 编写了一些代码来创建一个简单的线性回归模型:

import statsmodels.api as sm
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

ng = pd.read_csv('C:/Users/ben/ngDataBaseline.csv',  thousands=',', index_col='Date', parse_dates=True)

X = ng['HDD']
y = ng['Therm']

# Note the difference in argument order
model = sm.OLS(y, X).fit()

# Print out the statistics
model.summary()
Run Code Online (Sandbox Code Playgroud)

我得到如下屏幕截图所示的输出。我正在尝试判断拟合优度,并且我知道 R^2 很高,但是是否可以使用 statsmodel 找到预测的均方根误差 (RMSE)?

我还试图研究是否可以用置信区间估计抽样分布。如果我正确解释截距 HDD 5.9309 的表格,标准误差为 0.220,p 值低 0.000,并且我认为 97.5% 的置信区间 HDD 的值(或者是我的因变量 Therm?)将在 5.489 和6.373?? 或者我认为可以用百分比表示为 ~ +- 0.072%

在此输入图像描述

编辑包括多元回归表 在此输入图像描述

python statistics linear-regression statsmodels

3
推荐指数
1
解决办法
2万
查看次数