线性回归后得到负预测值

机器算法验证 回归 线性模型 预测器
2022-03-06 06:28:57

我正在使用线性回归来预测明显为正的价格。我只有一项功能,即 Gross_area。我将它标准化(z-score)我得到了这种值:

array([[ 1.        , -0.48311432],
       [ 1.        ,  0.68052306],
       [ 1.        ,  2.1426852 ],
       [ 1.        , -1.17398593],
       [ 1.        , -0.16265712]])

其中 1 是截距项的常数。我预测参数(预测变量),我得到了这个:

array([[ 31780004.85045217],
       [ 27347542.4693376 ]])

其中第一个单元格是截距项,第二个单元格对应于为我的特征 Gross_area 找到的参数。

我的问题如下,当我以第四行为例并计算矩阵乘法 XB 以获得我的预测时,我得到了这个:

In [797]: np.dot(training[4], theta)
Out[797]: array([-325625.35640697])

这是完全错误的,因为我的因变量不能有负值。似乎由于我的归一化,我的特征得到了负值,我最终得到了一些元组的负预测值。这怎么可能,我该如何解决?谢谢你。

这是我以图形方式预测的: 在此处输入图像描述

y=价格,x=总面积

1个回答

线性回归不尊重 0 的界限。它始终是线性的,无处不在。它可能不适用于需要接近 0 但严格为正的值。

管理这一点的一种方法,特别是在价格的情况下,是使用价格的自然对数。