根据上一篇博客贝叶斯线性回归(单输出)对贝叶斯线性回归的理解,随便找了某地区在售房房价随时间和面积的信息(如下所示),利用贝叶斯线性回归分别针对单变量线性基函数模型、单变量多项式基函数模型、单变量和双变量高斯基函数模型进行线性回归。
房价数据如下表所示:
序号 | 年代 | 面积 | 房价 | 序号 | 年代 | 面积 | 房价 |
---|---|---|---|---|---|---|---|
0 | 2001 | 100.83 | 410 | 10 | 1999 | 95.11 | 565 |
1 | 2005 | 90.90 | 500 | 11 | 2000 | 85.57 | 430 |
2 | 2007 | 130.03 | 550 | 12 | 1995 | 66.44 | 378 |
3 | 2004 | 78.88 | 410 | 13 | 2003 | 94.27 | 498 |
4 | 2006 | 74.22 | 460 | 14 | 2007 | 125.10 | 760 |
5 | 2005 | 90.40 | 497 | 15 | 2006 | 111.20 | 730 |
6 | 1983 | 64.59 | 370 | 16 | 2008 | 88.99 | 430 |
7 | 2000 | 164.06 | 610 | 17 | 2005 | 92.13 | 506 |
8 | 2003 | 147.50 | 560 | 18 | 2008 | 101.35 | 405 |
9 | 2003 | 58.51 | 408 | 19 | 2000 | 158.90 | 615 |
单变量多项式基函数(包含线性基函数)
首先仿照PRML上线性回归的图示,以面积为自变量,分别取初始状态、1、2、20个点的情形,利用 y=a0+a1x 的线性模型,获取似然函数、先验概率的分布图像以及回归曲线的图像。然后利用多项式基函数模型得到了单变量3次多项式的回归过程(输入1、2、5、20个数据),由于参数较多,不能一次性对各参数的似然函数和先验后验分布进行显示,因此只显示各过程中的拟合结果、置信区间和采样函数曲线形态。
以下给出多项式基函数的拟合代码:
# 用实际数据,采用线性模型单变量线性回归2(n次多项式)
# 最高次数为max_order次
data = np.array([
[2001,100.83,410],[2005,90.9,500],[2007,130.03,550],[2004,78.88,410],[2006,74.22,460],
[2005,90.4,497],[1983,64.59,370],[2000,164.06,610],[2003,147.5,560],[2003<