在一开始从做设计到做研究的过程中,会发现建筑领域的研究,没有很明确的研究方法。要分析评价一些现象,多元线性回归是最基本的分析方法。
一、回归什么?
在建筑方面,可以分析人的聚集程度、商场的冷区热区等影响因素;建筑技术方面,有大量分析影响建筑能耗的行为;在规划方面,会分析地块、街道等的POI、土地价格等的影响因素。总之,在研究建成环境时,回归的样本,也就是研究对象很多都是空间。
二、回归前的一些条件
当获得了一系列自变量和因变量,需要先判断它们是否满足线性回归的假设:自变量与因变量存在线性关系,误差正态分布,误差方差齐性,观测间相互独立等等。要求因变量总体服从正态分布,通常都会有一定偏度,可以通过取对数等来正态变换。
三、定性变量和分组问题
1、哑变量。在建筑规划研究中,定性的变量有很多,如当以很多个地块作为研究对象时,地块的属性可能是商业用地、住宅用地、公园绿地等等,又如一个房间可能是卧室、客厅、餐厅等等,这时候自变量中就会有这些属于分类的因子变量。
举例:房屋价格(y)为因变量,那么房屋年龄(x1)为其中一个定量变量,房屋类型(x2)是一个定性自变量。
回归结果可能是:y=3+5*[Age]+0.5*[Type_C)-0.8*[Type_I],即以住宅类型作为参照,商业类型和工业类型分别对价格有正向和负向影响。也就是说,当类型不一样时,模型只是截距不同,而其他系数相同。
在R中或大部分软件中,字符串会被自动识别为因子变量,但当分类很多的情况下,也可将其直接分为上述0、1稀疏矩阵。
2、多水平回归
有时候,一个住宅或商场根据所处城市不同,不同组之间的影响差异、回归系数都不同。组数达到30组以上,可以采取多水平模型。如果使用线性回归的话,那么要求因变量总体上服从正态分布,但不要求各组内的方差齐性,以及个体间随机误差的相互独立。
例如,全国住宅i的价格的影响因素,除受到住宅本身因素影响,还受到不同城市j的政策等影响。模型会分为两个水平:城市水平、住宅水平。
第一式表示:
第二三式:分别为
可以分析得出城市宏观效应对于微观样本的影响,也可以分析跨水平的交互作用。
四、如何选择好的模型
一般多元线性回归模型中,我们会比较P值来判断变量的显著性,也会看R2来判断模型的拟合程度。如何挑选自变量是一个技术活,可以通过逐步回归的方式进行。但很多情况下会发现,R2并不准确, 它会随着变量个数的增多而递增,逐步回归的结果也并不完全可靠,一些自变量不显著,但是我们仍然难以舍弃:因为我们假设系数为零,构造了t统计量,这个统计量呈正态分布,如果经计算,观测样本会发生的概率很小(如P<0.05),但既然被观测到就是发生了,那么就是说不可能发生的事件居然发生了,说明零假设不成立可以拒绝,那么就是系数显著不为零。但是若P不足够小,也只是证明没有充分的证据拒绝零假设。
总之,删除一些不显著的变量,可能就得到了另外一个模型,用主成分分析又不利于解释,而且如果不去人为的删除一些相关性很强的自变量,得到的模型还是会存在多重共线性的自变量,这样的子集选择有时候也与我们对于城市、建筑的认知不太符合。
五、lasso回归
这时候我们试着用lasso回归来优化。
上式等价于对于系数矩阵增加了一个限制域,
可以看出,不同的t(或λ)所求得的系数矩阵不同,所以t(或λ)的选取也很重要。一般的,我们希望模型可以较好的拟合已有数据,另一方面也希望模型也可以较好的预测新的数据集,即在模型的方差和偏差之间取得平衡。模型的方差小,意味着来自同一总体的不同的数据子集训练出的模型,系数变动不会很大,但会离真实的模型相差较大,即偏差大(如图)。
因此,把样本数据分为训练集和测试集,进行交叉验证,使求得的λ可以在测试集中也取得最小的误差。最后,lasso回归的结果,会给出各个变量的系数。注意,在一般线性回归中,变量不需要标准化,而lasso回归需要进行标准化。