Box-Cox变换
简介

式中
为经Box-Cox变换后得到的新变量,
为原始连续因变量,
为变换参数。以上变换要求原始变量
取值为正,若取值为负时,可先对所有原始数据同加一个常数
使其
为正值,然后再进行以上的变换。对不同的
所作的变换不同。在
时该变换为对数变换,
时为倒数变换,而在
时为平方根变换。Box-Cox变换中参数
的估计有两种方法:(1)最大似然估计;(2)Bayes方法。通过求解
值,就可以确定具体采用哪种变换形式。
变换过程

在这里
是一个待定变换参数。对于不同的
,所作的变换也不相同,所以Box-Cox变换是一族变换,它包括了平方根变换(
),对数变换(
)和倒数变换(
)等常用变换,对因变量的n个观测值
,应用上述变换,可得变换后的向量

我们要确定变换参数
,使得
满足

即要求通过因变量的变换,使得变换过的向量
与回归自变量具有线性相依关系,误差也服从正态分布.误差各分量是等方差且相互独立,故Box-Cox变换是通过参数
的适当选择。达到对原来数据的“综合治理”,使其满足一个正态线性回归模型的所有假设条件。
,由于
,故对固定的
,
和
的似然函数为

其中,
为变换的Jacobi行列式

当
固定时,
是不依赖于参数
和
的常数因子,
的其余部分关于
和
求导数,令其等于零,可求得
和
的极大似然估计


残差平方和为

对应的似然最大值为

该式为
的一元函数,通过求它的最大值来确定
,因为
是x的单调函数,问题可转化为求
的最大值,对式(3)求对数,略去与
无关的常数项,得


其中,



式(4)对Box-Cox变换在计算机上实现带来很大的方便,因为我们只要求出残差平方和
的最小值,就可以求出
的最大值,虽然很难找出使
达到最小值的
的解析表达式,但是对一系列的
给定值,通过最普通的求最小二乘估计的回归程序,很容易计算出对应的
,画出
关于
的曲线,可在图上近似地找出
达到最小值的
。
值,计算
,如果
,用式(6)计算,否则用式(7);
值,重复上述步骤,得到相应的残差平方和
的一串值,以
为横轴,作出相应的曲线,用直观的方法,找出使
达到最小值的点
。
。
意义
Box-Cox变换的更多相关文章
- Kaggle比赛(二)House Prices: Advanced Regression Techniques
房价预测是我入门Kaggle的第二个比赛,参考学习了他人的一篇优秀教程:https://www.kaggle.com/serigne/stacked-regressions-top-4-on-lead ...
- CSS3中文手册基础知识
CSS3手册是学习CSS3的最佳文档,不管是自己写博客,还是买书,手册少不了.今天我给大家介绍一些CSS3有哪些分类及其使用. 具体参考:http://caibaojian.com/css3/ 上来进 ...
- SAS PROC MCMC example in R: Logistic Regression Random-Effects Model(转)
In this post I will run SAS example Logistic Regression Random-Effects Model in four R based solutio ...
- QuantLib 金融计算——数学工具之随机数发生器
目录 QuantLib 金融计算--数学工具之随机数发生器 概述 伪随机数 正态分布(伪)随机数 拟随机数 HaltonRsg SobolRsg 两类随机数的收敛性比较 如果未做特别说明,文中的程序都 ...
- stacking method house price in kaggle top10%
整合几部分代码的汇总 隐藏代码片段 导入python数据和可视化包 导入统计相关的工具 导入回归相关的算法 导入数据预处理相关的方法 导入模型调参相关的包 读取数据 特征工程 缺失值 类别特征处理-l ...
- CSS学习笔记2-2d变换和过渡属性
前言:今天又是一个周末,心情不错,趁着闲暇之余,把剩下来的CSS3学习的内容全部整理出来,练习用的源码也稍微整理了一下. 2D转换 transform:translate||rotate||scale ...
- 好吧,CSS3 3D transform变换,不过如此!
一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...
- css3 3D变换和动画
3D变换和动画 建立3D空间,transform-style: preserve-3d perspective: 100px; 景深 perspective-origin:center center ...
- css3 过渡和2d变换——回顾
1.transition 语法:transition: property duration timing-function delay; transition-property 设置过渡效果的css ...
- css3 3d变换和动画——回顾
1.transform-style 属性指定嵌套原始是怎样在三维空间中呈现. 语法:transform-style: flat | preserve-3d flat 表示所有子元素在2D平面呈现. p ...
随机推荐
- 《Javascript权威指南》学习笔记之十七:BOM新成就(1)--client存储数据(Storage实现)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011043843/article/details/30255899 数据构成了web网站的 ...
- Makefile中几种赋值
= 延时变量,只有被使用时才展开定义 := 立即变量,定义时的赋值立即有效 ?= 条件变量,当变量为空时才赋值 += 追加赋值
- Oracle使用存储过程返回查询游标
如果报表逻辑非常复杂的话, 可以把报表逻辑放到存储过程里,加工一个全局临时表.前端查询的时候只查询临时表即可.只是第一次查询需要忍受加工的时间. --创建存储过程,返回SYS_REFCURSOR CR ...
- java全栈商业小程序开发
此次开发只为学习和巩固,第一次学习开发 一.开发前需要了解: 开发框架MVVM.痛点.开源工具.VUE前端框架.微信支付模块.uni-app前端框架.小程序申请.开发工具下载.编写测试小程序.小程序结 ...
- Nodejs去掉/favicon.ico的请求
const http=require("http"); const server=http.createServer(); server.on("request" ...
- CSIC_716_20191217【事务、视图、触发器、存储过程、索引】
事务: 事务保证对数据操作时的安全性,事务中的代码要么一起成功,要么一起失败. 事务以 start transaction 开始,中间可以写诸多个sql 语句对数据库进行操作, 以rollback ...
- Python Class (一)
继承 class Character(object): def __init__(self, name): self.health = 100 self.name = name def printNa ...
- H5新属性 contenteditable
contenteditable 属性规定元素内容是否可编辑 <div contenteditable style="width: 100px;height:100px"> ...
- C/C++ 智能指针线程池
//这个线程池存在一定的BUG 如果没有多线程编程基础的先生请谨慎使用 //我放弃了这种模板方式的线程池,最好不要使用!!!!!!! ThreadPool.h { #ifndef __THREADPO ...
- Android中监听ListView滑动到底部
Android中的应用就是ListView中向下滑动加载更多的功能,不要再onScroll方法中进行判断,那样当滑动到底部的时候,触摸屏幕就会又去加载更多,效果很差,可以自行测试一下: listvie ...