比如我训练得到了两个线性回归模型,系数非常接近,比如
模型1:Y = 0.95 x1 + 0.85 x2 + 1.01
模型2:Y = 0.96 x1 + 0.84 x2 + 0.99
我怎么判断这两个模型是否是显著得不同?最好是通过假设检验的方法,谢谢!
1个回答
这两个模型的系数相差这么小,如果非要判断其显著不同,只能设定非常高的显著水平了。。。
暂且用假设检验的方法测试一下:
两个模型都是线性模型,但是并不知道x1, x2的分布情况,那我假设x1,x2均为非正态分布的随机数,那两个模型应该不符合正态分布,同时按照楼主的要求,既然显著不同,那假设其方差也不齐,应该选择秩和检验,零假设选择为两个模型相同,即来自同一分布。
import numpy as np
from scipy.stats import wilcoxon
x1 = np.random.randint(1, 100, 10)
# array([60, 59, 22, 18, 45, 37, 17, 89, 37, 89])
x2 = np.random.randint(1, 100, 10)
# array([24, 47, 95, 48, 73, 48, 62, 44, 34, 88])
x = 0.95*x1 + 0.85*x2 + 1.01
y = 0.96*x1 + 0.84*x2 + 0.99
wilcoxon(x, y)
# WilcoxonResult(statistic=20.0, pvalue=0.4445867389117455)
我测试了几次,pvalue都远远大于0.1,通常显著水平都是设置在0.05,有时也会根据需要取0.1或0.01,但是要设置成远大于0.1的情况,并不常见。除非强行设置极大的显著水平,否则我觉得无法判断这两个模型显著不同。
SofaSofa数据科学社区DS面试题库 DS面经