Statistics 线性趋势概率
我得到了少量的样本([1016111616271616151514141212141416 17 18 16 14 16 23 24 12 13 13 15 16 15 14 14 16 20 17 17 15 23 18 12 19 12 11 19 17 14 18 15 23 30 24 16 14 22 17 17 17 17 20 19 27 17 36] ): 有两种模式:Statistics 线性趋势概率,statistics,linear-regression,bayesian,Statistics,Linear Regression,Bayesian,我得到了少量的样本([1016111616271616151514141212141416 17 18 16 14 16 23 24 12 13 13 15 16 15 14 14 16 20 17 17 15 23 18 12 19 12 11 19 17 14 18 15 23 30 24 16 14 22 17 17 17 17 20 19 27 17 36] ): 有两种模式: 模型A–没有线性趋势,因此噪声的中心 直方图是数据的平均值 模型B–存在线性趋势, 因此,噪声直方图的中心是
- 模型A–没有线性趋势,因此噪声的中心 直方图是数据的平均值李>
- 模型B–存在线性趋势, 因此,噪声直方图的中心是与拟合图像的距离 线性趋势线
model_b_mu, model_b_sigma = stats.norm.fit(model_b['residual'])
model_a_mu, model_a_sigma = stats.norm.fit(model_a['residual'])
def compare_models(modela_mu, modela_sigma, modelb_mu, modelb_sigma, length):
repate = 20000
modela_better = 0
for i in range(repate):
modela = np.random.normal(modela_mu, modela_sigma, size = length )
modelb = np.random.normal(modelb_mu, modelb_sigma, size = length )
# test which sigma^2 is smaller
sigma_a = np.sum(np.sqrt(np.power(modela, 2)))
sigma_b = np.sum(np.sqrt(np.power(modelb, 2)))
if sigma_a < sigma_b:
modela_better += 1
return modela_better/repate
model_a_better = compare_models(model_a_mu, model_a_sigma, model_b_mu, model_b_sigma, len(model_a))
print(model_a_better)
model_b_mu,model_b_sigma=stats.norm.fit(model_b[‘残余’])
model_a_mu,model_a_sigma=stats.norm.fit(model_a[‘残差’])
def比较模型(模型A\u-mu、模型A\u-sigma、模型B\u-mu、模型B\u-sigma、长度):
返程费=20000
modela_=0
对于范围内的i(重新绘制):
modela=np.random.normal(modela\u mu,modela\u sigma,size=length)
modelbu=np.random.normal(modelbu-mu,modelbu-sigma,size=length)
#测试哪个sigma^2更小
sigma_a=np.sum(np.sqrt(np.power(modela,2)))
sigma_b=np.sum(np.sqrt(np.power(modelb2)))
如果σa<σb:
模型A_更好+=1
返回模型A\u更好/重新制作
模型a\u更好=比较模型(模型a\u mu、模型a\u sigma、模型b\u mu、模型b\u sigma、len(模型a))
打印(a型更好)
这给了我:0.3152。我解释了这个结果:如果噪声是正态分布的,模型(A)更好的概率为31.52%
我的问题是:我的想法正确吗?若否,原因为何?我该如何解决这个问题呢
Ps:我不是统计学家,更像是程序员,所以上述解决方案很可能是错误的。因此,我要求一些确认 这就是所谓的模型选择问题。没有一个单一的正确答案,尽管最接近正确的方法是通过贝叶斯推理。也就是说,计算所考虑的每个模型(两个或更多)的后验概率p(模型|数据)。注意,贝叶斯推理的结果是模型的概率分布,而不是单一的“此模型是正确的”选择;依赖于模型的任何后续结果均应在模型分布上取平均值。还要注意的是,贝叶斯推理需要模型的先验知识,也就是说,在没有数据的情况下,需要事先为每个模型指定一个概率。这是一个特性,不是bug
回顾前面提到的问题,可能很容易计算出你提到的两个模型的后验概率,但首先你需要对概念框架有所了解。对于贝叶斯模型推断的web搜索应该会打开很多资源。另外,这个问题更适合stats.stackexchange.com。我已经将同样的问题发布到stats.stackexchange.com:[链接]()