拓端tecdat|R语言中的Theil-Sen回归分析
原文链接:http://tecdat.cn/?p=10080
原文出处:拓端数据部落公众号
Theil-Sen估计器是一种在社会科学中不常用 的简单线性回归估计器 。三个步骤:
- 在数据中所有点之间绘制一条线
- 计算每条线的斜率
- 中位数斜率是 回归斜率
用这种方法计算斜率非常可靠。当误差呈正态分布且没有异常值时,斜率与OLS非常相似。
有几种获取截距的方法。如果 关心回归中的截距,那么知道 软件在做什么是很合理的。
当我对异常值和异方差性有担忧时,请在上方针对Theil-Sen进行简单线性回归的评论 。
我进行了一次 模拟,以了解Theil-Sen如何在异方差下与OLS比较。它是更有效的估计器。
library(simglm)
library(ggplot2)
library(dplyr)
library(WRS)# Hetero
nRep <- 100
n.s <- c(seq(50, 300, 50), 400, 550, 750, 1000)
samp.dat <- sample((1:(nRep*length(n.s))), 25)
lm.coefs.0 <- matrix(ncol = 3, nrow = nRep*length(n.s))
ts.coefs.0 <- matrix(ncol = 3, nrow = nRep*length(n.s))
lmt.coefs.0 <- matrix(ncol = 3, nrow = nRep*length(n.s))
dat.s <- list()ggplot(dat.frms.0, aes(x = age, y = sim_data)) +geom_point(shape = 1, size = .5) +geom_smooth(method = "lm", se = FALSE) +facet_wrap(~ random.sample, nrow = 5) +labs(x = "Predictor", y = "Outcome",title = "Random sample of 25 datasets from 15000 datasets for simulation",subtitle = "Heteroscedastic relationships")
ggplot(coefs.0, aes(x = n, colour = Estimator)) +geom_boxplot(aes(ymin = q025, lower = q25, middle = q50, upper = q75, ymax = q975), data = summarise(group_by(coefs.0, n, Estimator), q025 = quantile(Slope, .025),q25 = quantile(Slope, .25), q50 = quantile(Slope, .5),q75 = quantile(Slope, .75), q975 = quantile(Slope, .975)), stat = "identity") +geom_hline(yintercept = 2, linetype = 2) + scale_y_continuous(breaks = seq(1, 3, .05)) +labs(x = "Sample size", y = "Slope",title = "Estimation of regression slope in simple linear regression under heteroscedasticity",subtitle = "1500 replications - Population slope is 2",caption = paste("Boxes are IQR, whiskers are middle 95% of slopes","Both estimators are unbiased in the long run, however, OLS has higher variability",sep = "\n"))
拓端tecdat|R语言中的Theil-Sen回归分析相关推荐
- 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测
最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...
- 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...
- 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例
最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...
- 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...
- 1071svm函数 r语言_如何利用R语言中的rpart函数建立决策树模型
决策树是根据若干输入变量的值构造出一个适合的模型,以此来预测输出变量的值,并用树形结构展示出来.决策树主要有两个类别:分类树和回归树.分类树主要针对离散的目标变量,回归树则针对连续的目标变量.R语言中 ...
- r语言中c函数错误,R语言中c()函数与paste()函数的区别说明
c()函数:将括号中的元素连接起来,并不创建向量 paste()函数:连接括号中的元素 例如 c(1, 2:4),结果为1 2 3 4 paste(1, 2:4),结果为"1 2" ...
- r语言中的shiny教程_如何使用Shiny在R中编写Web应用程序
r语言中的shiny教程 新年快乐! 这个月我忙于撰写一些较大的文章,因此请在接下来的几周内查找这些文章. 对于本月的Nooks和Crannies,我想简要指出一个我一直在用它进行自我教育的出色R库. ...
- R语言中if语句使用方法之超详细教程
在R语言中,if属于一种分支结构,即根据某个条件执行相关的语句.R中的if语句与else配合主要有3种结构. 单个if语句 if(cond) {expr} 其它语句 即当括弧中的cond条件为TRUE ...
- R语言中GCC编译的问题(续)
这篇文章承接R语言中GCC编译的问题,这篇文章主要解决我在Linux系统上安装"expm"出现的问题. 出现的问题 这个问题非常的有趣,因为我在两台服务器分别安装同一个包,其中一台 ...
- r语言中paste函数_R中的paste()函数-简要指南
r语言中paste函数 Using the paste() function in R will be straight and simple. In this tutorial let's see ...
最新文章
- mac按文件名查找文件_如何在Mac上查找和删除大文件
- 价格厚道!855最强机皇发布:看完心动了吗?
- 【Git】向Gitee提交代码
- Mysql的limit用法
- Linux正在更新缓存卡住,Linux 进程卡住了怎么办?
- redis srandmember_Redis五大数据类型使用场景
- 《Web前端工程师修炼之道(原书第4版)》——移动Web
- centos 6.4 安装java_CentOS6.4 64位系统安装jdk 转载
- 微信小程序API-定位(位置)
- 三十三、Fluent边界条件湍流参数设置详解
- Python 之 解析xml
- [可解释机器学习]Task07:LIME、shap代码实战
- VBScript UBound 函数
- Opencv去除高光
- Java写的第一个小游戏(续)
- 【SG建模同步】基于system generator的QAM载波同步和时间同步FPGA建模
- ios 文本翻转_UIButton,UILabel文字旋转(倾斜)
- 【msvcp140.dll怎么下载】msvcp140.dll丢失的解决方法
- 关于FOB/CIF/CNF的报价
- Northwind and pubs Sample Databases for SQL Server 2000