目录

数据取对数的理论来源

数据取对数的作用


数据取对数的理论来源

参考:https://www.zhihu.com/question/22012482

数据取对数的作用

原始数据取对数是由于基于对数函数在其定义域内是单调增函数,取对数后不会改变数据的相对关系,取对数作用主要有:
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) 
这正好是弹性的定义

注意

当然,如果数据集中有负数当然就不能取对数了。实践中,取对数的一般是水平量,而不是比例数据,例如变化率等。

[1]数据分析中变量取对数的意义相关推荐

  1. 处理数据时,对数据取对数的意义

    平时在一些数据处理中,经常会把原始数据取对数后进一步处理. 之所以这样做是基于对数函数在其定义域内是单调增函数,取对数后不会改变数据的相对关系,取对数作用主要有: 1. 缩小数据的绝对数值,方便计算. ...

  2. 给函数和变量取一个有意义的名字

    为什么要给函数和变量取一个有意义的名字? 1. 代码写出来是给以后的自己和别人看的,易于理解的变量名可以更好的阅读,并且可以看出编码者的个人修养和编程功底: 2. 好的变量名字有利于提高自己英语水平( ...

  3. Model Explorer中变量Scope属性的意义

    local相当于局部变量,parameter相当于全局变量.input输入变量,output输出变量.constant常量

  4. loss函数取对数的作用和意义

    平时在一些数据处理中,经常会把原始数据取对数后进一步处理. 之所以这样做是基于对数函数在其定义域内是单调增函数,取对数后不会改变数据的相对关系,取对数作用主要有: 1. 缩小数据的绝对数值,方便计算. ...

  5. 数据取对数运算的意义

    平时在一些数据处理中,经常会把原始数据取对数后进一步处理. 之所以这样做是基于对数函数在其定义域内是单调增函数,取对数后不会改变数据的相对关系,取对数作用主要有: 1. 缩小数据的绝对数值,方便计算. ...

  6. 告诉你为什么数据要取对数

    告诉你为什么数据要取对数 2016-06-07 16:04 746人阅读 评论(0) 收藏 举报  分类: 机器学习(13)  平时在一些数据处理中,经常会把原始数据取对数后进一步处理.之所以这样做是 ...

  7. 数据处理取对数的作用

    作者:姚岑卓 链接:https://www.zhihu.com/question/22012482/answer/21315349 来源:知乎 著作权归作者所有,转载请联系作者获得授权. 如需要收回, ...

  8. tidyr | 变量取值组合、缺失值处理、变量分列与合并

    关于tidyr工具包已经有三篇推文了,详情可查看本号推文索引.本篇来介绍该包剩余的其他函数. tidyr工具包的功能是使数据更加整洁,多配合dplyr工具包进行数据预处理,其包含的函数并不多,除已经介 ...

  9. 回归分析什么时候取对数_技术派|SPSS数据分析心得小结及心得分享!必备收藏...

    作者:徐定德 来源:经管之家,欢迎转载,欢迎分享. 学习数据分析之spss分析工具,可真的不是一般的功夫,真的要很认真和很细心才能做得好spss.下面我来和大家分享一下关于SPSS数据分析心得小结,希 ...

最新文章

  1. C#中的构造方法与对象初始化器
  2. 3、leetcode 697 数组的度
  3. linux读取环境变量替换,linux Shell脚本学习笔记二(变量和环境变量)
  4. php 子类调用父类的方法
  5. python LAADS+Selenium下载MODIS数据
  6. mybatis缓存二级缓存_MyBatis缓存与Apache Ignite的陷阱
  7. 《树莓派学习指南(基于Linux)》——1.4 将Raspbian烧录到SD卡
  8. Java类类getComponentType()方法与示例
  9. 怎么清洁计算机主机内部,详细说明清理网吧中计算机主机的正确方法
  10. redis配置文件conf详解
  11. 大数据之-Hadoop之HDFS_HDFS的优缺点---大数据之hadoop工作笔记0049
  12. Abbirb120型工业机器人_你知道机器人有几种编程方式吗?
  13. javaee加密部署,tomcat使用自己的classloader解密
  14. jsonp原理详解——终于搞清楚jsonp是啥了
  15. linux 查看ps命令大全,linux中ps命令使用大全
  16. Phaser学习笔记
  17. 连接MySql报错【ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)】
  18. 从精英云到普惠云,青云QingCloud的“性格”变了
  19. FULLTEXT 搜索
  20. 拿什么拯救我们的焦虑?

热门文章

  1. 滑模控制入门与简单应用
  2. 2021年吴文俊人工智能科学技术奖公布 华为云田奇获杰出贡献奖
  3. java 数组 取部分_在Java中只获取一部分数组?
  4. Git for windows 和 cygwin
  5. python测试理论-9-6
  6. 成为IT精英,我奋斗了七年
  7. VUE计算属性如何带参数
  8. Cannot use JSX unless the ‘--jsx‘ flag is provided.
  9. 盘点!一篇看完2018年中国各地编程教育政策
  10. 内存数据库应用之NBA篮球图文直播室存储设计