首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
【数据处理】为什么数据要取对数
时间:
2016-05-27 21:47:55
阅读:
532
评论:
0
收藏:
0
[点我收藏+]
标签:
平时在一些数据处理中,经常会把原始数据取对数后进一步处理。之所以这样做是
基于对数函数在其定义域内是单调增函数
,取对数后不会改变数据的相对关系,取对数作用主要有:
1. 缩小数据的绝对数值,方便计算。
例如,每个数据项的值都很大,许多这样的值进行计算可能对超过常用数据类型的取值范围,这时取对数,就把数值缩小了,例如TF-IDF计算时,由于在大规模语料库中,很多词的频率是非常大的数字。
2. 取对数后,可以将乘法计算转换称加法计算。
3. 某些情况下,在数据的整个值域中的在不同区间的差异带来的影响不同。
例如,中文分词的mmseg算法,计算语素自由度时候就取了对数,这是因为,如果某两个字的频率分别都是500,频率和为1000,另外两个字的频率分别为200和800,如果单纯比较频率和都是相等的,但是取对数后,log500=2.69897, log200=2.30103, log800=2.90308 这时候前者为2log500=5.39794, 后者为log200+log800=5.20411,这时前者的和更大,取前者。因为前面两个词频率都是500,可见都比较常见。后面有个词频是200,说明不太常见,所以选择前者。
从log函数的图像可以看到,自变量x的值越小,函数值y的变化越快,还是前面的例子,同样是相差了300,但log500-log200>log800-log500,因为前面一对的比后面一对更小。
也就是说,对数值小的部分差异的敏感程度比数值大的部分的差异敏感程度更高。这也是符合生活常识的,例如对于价格,买个家电,如果价格相差几百元能够很大程度影响你决策,但是你买汽车时相差几百元你会忽略不计了。
4. 取对数之后不会改变数据的性质和相关关系,但压缩了变量的尺度
,例如800/200=4, 但log800/log200=1.2616,数据更加平稳,也消弱了模型的共线性、异方差性等。
5. 所得到的数据易消除异方差问题。
6. 在经济学中,常取自然对数再做回归,
这时回归方程为 lnY=a lnX+b ,两边同时对X求导,1/Y*(DY/DX)=a*1/X, b=(DY/DX)*(X/Y)=(DY*X)/(DX*Y)=(DY/Y)/(DX/X) 这正好是
弹性的定义
。
当然,如果数据集中有负数当然就不能取对数了。实践中,取对数的一般是水平量,而不是比例数据,例如变化率等。
来源:
http://bbs.pinggu.org/thread-3027640-1-1.html
log是非常重要地 特别是在计量之中 经常会用到,
细说如下:
y=x 是说 x增长1单位 Y也增长一个单位
y=logx 是说 x 增长一个单位 y增长百分之多少
来自为知笔记(Wiz)
【数据处理】为什么数据要取对数
标签:
原文地址:http://www.cnblogs.com/xuancaoyy/p/5535927.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!