用于回归分析的极倾斜数据转换

2024-05-17 07:15:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个来自住房数据集的熊猫系列(系列大小=482491),名为“豁免土地”。本系列的前10个条目是:

0         0.0
2     17227.0
3         0.0
7         0.0
10        0.0
14     7334.0
15        0.0
16        0.0
18        0.0
19     8238.0
Name: exempt_land, dtype: float64

由于数据量很大,我没有执行虚拟变量转换。在

现在,我的目标是进行回归分析。因此,我希望将此数据转换为正常。在

原始数据的偏度为344.58,峰度为168317.32。为了更好地理解原始数据,我还包括原始数据的分布图概率图。在

Distribution Plot BEFORE transformation

Probability Plot BEFORE transformation

在进行对数变换后,我得到了5.21峰度的偏度=25.96。转换后的分布图如下:

Distribution Plot AFTER np.log10(exempt_land + 1) transformation

Probability Plot AFTER np.log10(exempt_land + 1) transformation

我还执行了其他各种转换(“幂”、“exp”、“box cox”、“倒数”),并且得到了类似的坏结果(在倒数转换的情况下,结果相当糟糕)。在

所以我的问题是,在进行回归分析时,我如何“驯服”这些数据,使其表现良好。此外,在转换后,5.21倾斜仍然很高,这会产生什么问题吗? 我可以执行哪些其他转换使数据看起来更为正常?在

我希望我的问题在这里是清楚的。感谢社会各界的帮助。提前谢谢你。在


Tags: 数据原始数据plotnp分布图distributionprobabilityland