R语言平滑算法LOESS局部加权回归、三次样条、变化点检测拟合电视节目《白宫风云》在线收视率

简介: R语言平滑算法LOESS局部加权回归、三次样条、变化点检测拟合电视节目《白宫风云》在线收视率

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


此示例基于电视节目的在线收视率。我们将从抓取数据开始点击文末“阅读原文”获取完整代码数据


# 加载软件包。
packages <- c("gplot2", "MASS", "reshpe", "splnes", 
    "XML")

分析的系列是亚伦·索尔金 (Aaron Sorkin) 的 _《_白宫风云_》_。

if (!fle.eiss(fie)) {
    # 解析HTML内容。
    html <- htmlPrse(lis?si=17ectn=a")
    # 根据id选择表格。
    tml <- pahppl(html, //tal\[@d='Tle'\]"\[1\] ?
    # 转换为数据集。
    da <- reHTML(hml)
    # 第一个数据行。
    head(da )
    # 保存本地副本。
    write.csv(ata\[, -3\], fle)
# 读取本地副本
daa <- red.sv(fie)
# 检查结果
str(dat)

Mean 是每集的平均评分,所以我们有一个参数, Count 是每集的投票数,所以我们有一个样本大小。使用标准误差方程 ,我们将计算每个评分的“误差幅度”。请注意,由于有几集收视率非常高,因此收视率分布不正常。

# 计算季
daa$saon <- 1 + (daX - 1)%/%22
# 特殊情况
at$sasn\[which(dta$sesn > 7)\] <- c(7, NA)
# 因子变量
daa$saon <- fator(aa$sesn)

我们对数据采取的最后一步是添加季编号,以便以后能够在绘图上区分它们。 除了两个特例(最后一季有 23 集,一个节目是电影特辑)外,_《_白宫风云_》_每一季 都有 22 集。我们使用除以 22 的余数来计算季,修复特殊情况,并将变量分解为绘图目的。

# 计算季 
asaon <- 1 + (aX - 1)%/%22
#  特殊情况
dtseson\[wich(dtsasn > 7)\] <- c(7, A)
# 因子变量
dtseson <- fctor(dasasn)

最后的图使用 95% 和 99% 的置信区间来可视化不确定性。

qlot(dta =dat, x = X, y = mu, clr =sasn, gem = "pont") + 
  genge(es(yin = u - 1.96\*se, ymx = u + 1.96\*se), alpa = .5) +
  golie(as(yin =mu - 2.58\*se, yax = mu + 2.58\*e), apa = .5) +

该图对于每个季节的平均收视率会更有用,这些收视率很容易用该ddply() 函数检索 。还计算了最小和最大集数,以便能够绘制每个季节的水平段。由于我们将之前的绘图保存为 ggplot2 对象,因此添加线条只需要对额外的图形元素进行编码并将其添加到保存的元素之上。

# 计算季平均值。
men <- dply(daa,.(easn), summrs, 
      ma = mean), 
      xmi= in(X, 
      xmx = ma(X)
# 将平均值添加到绘图中。
g + go_eme(daa = eas, 
                as( xmin, max,  = mean, en= man))


点击标题查阅往期相关内容


R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析


01

02

03

04


变化点检测算法

如果您的目标是找到系列中的突然变化,请使用变化点检测算法。

# PELT算法计算变化点。
p <- tmean(atamu, 'PELT')
# 提取结果。
xmin <- c(0, max\[-legh(xmax)\])
# 绘图。
gem_segnt(dat = eg)

平滑算法:LOESS(局部加权回归)和三次样条

现在让我们平滑这个系列。基本图都将使用相同的数据,我们将在其上叠加一条通过不同方法计算的趋势线。

# 绘图
 plot(data 
          x = X,
          y = mu,
          alpa = I0.5),
          gom = line")

平滑数据的最简单方法是使用局部多项式,我们将其应用于每个季节的分数,然后应用于它们的去趋势值。更复杂的平滑方法使用 splines 。它仅用于最后一个图中。

# 每一季的LOESS平滑
 
  LOESS(se = FALSE) + 
  goln(y = tmu,neyp= dhe"+
as(colo = sason)

# 对去趋势的数值进行LOESS平滑处理
  smooth(se = FALSE) + 
  eoin(es =memu)), itype = ") +

# 立方样条
g + 
  smooth( "m", ns(x, 8)

三次样条提供的信息与我们从变化点检测中了解到的情况几乎相同:该系列有三个时期,是由于观众收视率的一次下降。

# 三次样条和变化点
gmoth(method =  ~ ns(x, 8))

相关文章
|
6月前
|
监控 安全 算法
137_安全强化:输入过滤与水印 - 实现输出水印的检测算法与LLM安全防护最佳实践
随着大语言模型(LLM)在各行业的广泛应用,安全问题日益凸显。从提示注入攻击到恶意输出生成,从知识产权保护到内容溯源,LLM安全已成为部署和应用过程中不可忽视的关键环节。在2025年的LLM技术生态中,输入过滤和输出水印已成为两大核心安全技术,它们共同构建了LLM服务的安全防护体系。
624 148
|
7月前
|
传感器 资源调度 算法
DDMA-MIMO雷达多子带相干累积目标检测算法——论文阅读
本文提出一种多子带相干累积(MSCA)算法,通过引入空带和子带相干处理,解决DDMA-MIMO雷达的多普勒模糊与能量分散问题。该方法在低信噪比下显著提升检测性能,实测验证可有效恢复目标速度,适用于车载雷达高精度感知。
795 4
DDMA-MIMO雷达多子带相干累积目标检测算法——论文阅读
|
6月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
本研究基于MATLAB 2022a,使用GRU网络对QAM调制信号进行检测。QAM是一种高效调制技术,广泛应用于现代通信系统。传统方法在复杂环境下性能下降,而GRU通过门控机制有效提取时间序列特征,实现16QAM、32QAM、64QAM、128QAM的准确检测。仿真结果显示,GRU在低SNR下表现优异,且训练速度快,参数少。核心程序包括模型预测、误检率和漏检率计算,并绘制准确率图。
389 65
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
|
10月前
|
机器学习/深度学习 运维 监控
实时异常检测实战:Flink+PAI 算法模型服务化架构设计
本文深入探讨了基于 Apache Flink 与阿里云 PAI 构建的实时异常检测系统。内容涵盖技术演进、架构设计、核心模块实现及金融、工业等多领域实战案例,解析流处理、模型服务化、状态管理等关键技术,并提供性能优化与高可用方案,助力企业打造高效智能的实时异常检测平台。
899 1
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
9月前
|
存储 监控 算法
基于跳表数据结构的企业局域网监控异常连接实时检测 C++ 算法研究
跳表(Skip List)是一种基于概率的数据结构,适用于企业局域网监控中海量连接记录的高效处理。其通过多层索引机制实现快速查找、插入和删除操作,时间复杂度为 $O(\log n)$,优于链表和平衡树。跳表在异常连接识别、黑名单管理和历史记录溯源等场景中表现出色,具备实现简单、支持范围查询等优势,是企业网络监控中动态数据管理的理想选择。
231 0
|
10月前
|
机器学习/深度学习 监控 算法
面向办公室屏幕监控系统的改进型四叉树屏幕变化检测算法研究
本文提出一种改进型四叉树数据结构模型,用于优化办公室屏幕监控系统。通过动态阈值调节、变化优先级索引及增量更新策略,显著降低计算复杂度并提升实时响应能力。实验表明,该算法在典型企业环境中将屏幕变化检测效率提升40%以上,同时减少资源消耗。其应用场景涵盖安全审计、工作效能分析及远程协作优化等,未来可结合深度学习实现更智能化的功能。
180 0
|
机器学习/深度学习 存储 算法
基于MobileNet深度学习网络的活体人脸识别检测算法matlab仿真
本内容主要介绍一种基于MobileNet深度学习网络的活体人脸识别检测技术及MQAM调制类型识别方法。完整程序运行效果无水印,需使用Matlab2022a版本。核心代码包含详细中文注释与操作视频。理论概述中提到,传统人脸识别易受非活体攻击影响,而MobileNet通过轻量化的深度可分离卷积结构,在保证准确性的同时提升检测效率。活体人脸与非活体在纹理和光照上存在显著差异,MobileNet可有效提取人脸高级特征,为无线通信领域提供先进的调制类型识别方案。
|
机器学习/深度学习 算法 安全
基于深度学习的路面裂缝检测算法matlab仿真
本项目基于YOLOv2算法实现高效的路面裂缝检测,使用Matlab 2022a开发。完整程序运行效果无水印,核心代码配有详细中文注释及操作视频。通过深度学习技术,将目标检测转化为回归问题,直接预测裂缝位置和类别,大幅提升检测效率与准确性。适用于实时检测任务,确保道路安全维护。 简介涵盖了算法理论、数据集准备、网络训练及检测过程,采用Darknet-19卷积神经网络结构,结合随机梯度下降算法进行训练。

热门文章

最新文章