Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >R语言中的Theil-Sen回归分析

R语言中的Theil-Sen回归分析

原创
作者头像
拓端
修改于 2020-08-24 02:03:56
修改于 2020-08-24 02:03:56
1.6K00
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

原文链接:http://tecdat.cn/?p=10080


Theil-Sen估计器是一种在社会科学中不常用 的简单线性回归估计器  。三个步骤:

  • 在数据中所有点之间绘制一条线
  • 计算每条线的斜率
  • 中位数斜率是 回归斜率

用这种方法计算斜率非常可靠。当误差呈正态分布且没有异常值时,斜率与OLS非常相似。 

有几种获取截距的方法。如果 关心回归中的截距,那么知道 软件在做什么是很合理的。 

当我对异常值和异方差性有担忧时,请在上方针对Theil-Sen进行简单线性回归的评论 。

我进行了一次 模拟,以了解Theil-Sen如何在异方差下与OLS比较。它是更有效的估计器。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(simglm)library(ggplot2)library(dplyr)library(WRS)# HeteronRep <- 100n.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")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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"       ))

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
25条很棒的Python一行代码,建议收藏!
自从我用Python编写第一行代码以来,就被它的简单性、出色的可读性和特别流行的一行代码所吸引。
龙哥
2021/01/25
9950
几个小例子告诉你, 一行Python代码的奇淫技术
首先你要了解一下Python之禅,一行代码输出“The Zen of Python”:
一墨编程学习
2019/05/10
8740
几个小例子告诉你, 一行Python代码的奇淫技术
1 行 Python 代码能干哪些事,这 13 个你知道吗?
Python 之禅有一句话叫 “Simple is better than complex.”,简单,到底能多简单,一行代码?
崔庆才
2019/05/17
4590
一行python代码
Python以其语法简洁著称,在学习Python的过程中,总是会发现Python能够帮助我们解决许多问题。有时候看似复杂的任务,甚至是可以使用一行Python代码就可以搞定了。
皮大大
2023/08/23
3300
python 列表推导式
代码解析: 在这个例子中,我们使用range(1, 11)生成1到10的数字序列,并通过列表推导式计算每个数字的平方,最终得到squares列表。
一键难忘
2024/03/21
2880
Python极简美学:一行代码完成的26个日常任务
Python以其简洁优雅著称,能够用最少的代码行数实现强大的功能。本文将通过展示Python如何以一行代码来解决常见的编程任务,从而体验Python的极简美学。
楚客追梦
2024/08/07
2100
金三银四,50道必备的Python面试题(建议收藏)
在过去的2020年,Python赢得了年度TIOBE编程语言奖,成为过去一年最受欢迎的编程语言。在数据科学和机器学习等领域中,被广泛使用。
小F
2021/03/18
1.5K0
金三银四,50道必备的Python面试题(建议收藏)
Python之每个人都应该知道的30个一行代码程序
原文地址:http://wp.fang1688.cn/study/313.html
优派编程
2021/10/30
5350
使用 Python 循环创建多个列表
在 Python 中,我们可以使用循环来动态创建多个列表,这在处理数据、进行数据分析或进行算法实现时非常有用。本文将介绍几种常见的方法,以帮助大家学习如何使用循环创建多个列表。
霍格沃兹测试开发Muller老师
2024/04/23
7590
一行Python代码能实现什么奇葩功能?
如果只允许你写一行代码,你能够实现什么样的功能?今天我们来看看这 16 行丧(gan)心(de)病(piao)狂(liang)代码。
Crossin先生
2020/02/27
1K0
一行Python代码能实现什么奇葩功能?
10个 Python 高效编程小技巧!
初识Python语言,觉得python满足了你上学时候对编程语言的所有要求。python语言的高效编程技巧让那些曾经苦逼学了四年c或者c++的人,兴奋的不行不行的,终于解脱了。高级语言,如果做不到这样,还扯啥高级呢?
码农向前冲
2022/01/10
3550
10个 Python 高效编程小技巧!
​一篇全网最详细的python之函数
调用函数需要知道函数名和参数,如果传入的参数不对,会报TypeError的错误并且给出错误信息我可以给你一些常见的Python内置函数的示例:
可以叫我才哥
2024/03/06
1890
​一篇全网最详细的python之函数
一行Python代码
自从08年接触Python,就有爱不释手的感觉,逐渐地,有些不忍地疏远了Perl 和Shell编程,因为python 的优雅么? 不全是,主要是可以高效开发吧。
半吊子全栈工匠
2018/08/22
2K0
一行Python代码
Python基础面试,看这篇文章画重点吧
一直想写一些更加基础的文章,但是总是想不到好的点子,最近到了就业季,一大堆学生面临就业了,正好,从Python的面试题出发,分析和解答一些常见的面试题,并且总结一些文字。
py3study
2020/01/15
4650
python 函数(二)
3.filter() 函数,   相当于过滤器,不符合条件的过滤掉,返回的值是过滤后的内容
py3study
2020/01/17
3410
开源图书《Python完全自学教程》7.1.2 return语句
了解了定义函数的基本格式之后,对其中的某些细节进行深入分析、透彻了解,才能定义出具有强大功能的函数。
老齐
2022/07/06
9360
开源图书《Python完全自学教程》7.1.2 return语句
18 个 Python 高效编程技巧,Mark!
初识Python语言,觉得python满足了我上学时候对编程语言的所有要求。python语言的高效编程技巧让我们这些大学曾经苦逼学了四年c或者c++的人,兴奋的不行不行的,终于解脱了。高级语言,如果做不到这样,还扯啥高级呢?
小小詹同学
2019/05/04
5970
python快速入门【一】-----基础语法
IPython Notebook号称 “编码器的实验室笔记本” - 允许用户在单个基于浏览器的页面中交叉显示/执行数据,代码和说明文本,而不是在单独的文件中
汀丶人工智能
2022/12/01
7860
20 个非常有用的 Python 单行代码!
来源丨https://python.plainenglish.io/20-extremely-useful-python-one-liners-you-must-know
小F
2023/01/03
3.2K0
Python一些书写技巧
写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”。
李振
2021/11/26
2450
相关推荐
25条很棒的Python一行代码,建议收藏!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验