【发布时间】:2019-08-20 00:48:05
【问题描述】:
我有一个来自住房数据集的 Pandas 系列(系列大小 = 48,2491),名为“exempt_land”。该系列的前 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
由于数据量很大,我没有进行dummy_variable转换。
现在,我的目标是进行回归分析。因此,我想将此数据转换为 Normal。
原始数据的偏度为 344.58,峰度 = 168317.32。为了更好地理解原始数据,我还附上了原始数据的分布图和概率图。
Distribution Plot BEFORE transformation
Probability Plot BEFORE transformation
执行Log变换后,我得到5.21的Skewness和Kurtosis = 25.96。转换后的 分布 和 概率 图现在如下所示:
Distribution Plot AFTER np.log10(exempt_land + 1) transformation
Probability Plot AFTER np.log10(exempt_land + 1) transformation
我还执行了各种其他转换(“power”、“exp”、“box-cox”、“reciprocal”),我得到了类似的糟糕结果(在互易转换的情况下,结果要差得多)。
所以我的问题是,在进行回归分析时,如何“驯服”这些数据以使其表现良好。另外,经过改造,5.21的skew还是比较高的,会不会有什么问题呢? 我还可以执行哪些其他转换来使数据看起来更正常?
我希望我的问题在这里很清楚。非常感谢社区提供的任何帮助。非常感谢您。
【问题讨论】:
-
我们确实需要查看“之前的分布”图,如果您在线性 x 轴上绘制,则无法阅读;请选择一个窄得多的 x 轴(或使用 lo 或 log-log x 轴)。另外,请直接在此处发布图片,而不是指向 imgur 的链接(这些链接是短暂的,可能会损坏/衰减)
-
“我还执行了各种其他转换......我得到了类似的糟糕结果” 但是
log1p()是你想要的,根据你的图表
标签: python pandas normal-distribution