关于r语言:Rt1啦上海疫情流行趋势分析

上海新冠疫情可视化面板 根本再生数R0是指在一个齐全易感人群中,没有任何干涉措施的状况下,一个被传染病病原体感化的个体所能引起的第二代感化病例数,罕用于掂量病原体本身的流传力。(“流行病学专家解读| 传染病的无效再生数与根本再生数,” n.d.) 时变再生数Rt能够了解为真实世界(往往有干涉措施,人群不是齐全易感)情景下,t时刻的再生数,受干涉措施,感染者及易感者比例等因素影响,随工夫变动而变动。隔离等干涉措施的指标在于将Rt升高至1以下,Rt \< 1意味着新增病例数将逐步缩小,疫情失去管制。 应用R语言EpiEstim包预计Rt(Thompson et al.2019),须要假如系列距离(serialinterval)的散布,本文中假如系列距离均值为4天,标准差为2天(“新型冠状病毒Omicron变异株的流行病学特色及其迷信防控倡议,”n.d.)。应用EpiEstim包默认的1周滑动窗进行剖析。后果如下: library(tidyverse)library(EpiEstim)library(patchwork)## load datacase.asym.wider.sh<-read.csv('https://raw.githubusercontent.com/shalom-lab/covid.sh/main/local/share/case.asym.wider.sh.csv')# observationcases<-case.asym.wider.sh %>% select(date,pos) %>% mutate(date=as.Date(date)) %>% rename(I=pos,dates=date)## make configconfig <- make_config( mean_si = 4, std_si = 2)## estimateres <- estimate_R( incid = cases, method = "parametric_si", config = config)#plot(res)res.r<-res$R %>% as_tibble() %>% rename(mean=`Mean(R)`,std=`Std(R)`,lbd=`Quantile.0.025(R)`,ubd=`Quantile.0.975(R)`) %>% mutate(date=cases$dates[res$R$t_end])res.si <- as_tibble(list(time=as.integer(str_sub(names(res$si_distr),2)), frequency=as.vector(res$si_distr)))p1<-ggplot(data = cases,aes(x=dates,y=I))+ geom_col(fill= "#AD002AFF")+ scale_x_date(date_breaks = "2 days",date_labels = "%m/%d",expand = c(0,0.5))+ labs(x="",y="每日新增阳性数",title="Epidemic curve")+ theme_bw()+ theme(axis.text.x = element_text(angle=45,vjust=0.5,hjust = 0.5))p2<-ggplot(data = res.r,aes(x=date,y=mean))+ geom_ribbon(aes(ymin=lbd,ymax=ubd),fill= "#AD002AFF",alpha=0.2)+ geom_line(size=1,colour= "#AD002AFF")+ geom_hline(yintercept = 1,size=1,lty=2)+ scale_x_date(date_breaks = "2 days",date_labels = "%m/%d",expand = c(0,0.5),limits = c(as.Date('2022-03-09'),Sys.Date()-1))+ labs(x="",y="时变再生数Rt",title='')+ theme_bw()+ theme(axis.text.x = element_text(angle=45,vjust=0.5,hjust = 0.5))p3<-ggplot(data = res.si,aes(x=time,y=frequency))+ geom_line()+ labs(x="Time",y="Frequency",title='Assumptive Serial Interval Distribution')+ theme_bw()p1+p2+plot_layout(ncol = 1)p3结果显示目前时变再生数Rt已降至1以下,Rt继续处于1以下将示意疫情失去无效管制,心愿持续放弃,期待早日解封~ ...

April 19, 2022 · 1 min · jiezi

关于r语言:无影会是接近未来的工作场景吗

简介: 云上办公、企业桌面、平安可溯,无需后期传统硬件投资,疾速构建平安、高性能、低成本的企业桌面办公体系。可广泛应用于具备高数据安全管控、高性能计算等要求的平安办公、金融、设计、影视、教育等畛域。 程序员:你为什么要带办公电脑回家?提起21世纪的程序员咱们能脑海中能浮现出什么形象?格子衫、POLO领、电脑包、996……无论是西二旗、知春路、望京还是陆家嘴、虹桥国内核心,早顶峰的地铁上,十个人中有九位背着大大的双肩包,毫无疑问,外面是日日夜夜相伴的办公电脑。咱们随机采访了100位“背包人”,试图理解他们与办公电脑的“爱恨情仇”: “公司的电脑当然好用啊,性能比家里的高,运行速度快,我做动画渲染,不卡顿不失落是最重要的。” “不得不背呀,数据安全是红线,数据资产全副在公司外部工作站和机房存储中,用本人的设施是无奈在家开展工作的。” “其实还是挺辛苦的,夏天天气热,背包久了后背都是汗;工夫长了肩膀也酸,最近驼背减轻了。” 尽管大家广泛感觉辛苦,然而思考到电脑性能与工作要求、数据资产平安还是会义无反顾每天背着本人的办公本回家,对于程序员来说,电脑不离手更是出差、旅行、度假伴侣。 其实对于企业自身来说,他们也有本人的顾虑,作为南京一家守业公司的治理人,晓丰讲到了本人和共事因为异地近程办公数据丢包差点提早交付的事件,“惊出一身冷汗”,同时,因为疫情,上百名实习生与外包员工在家中无奈失常发展工作,给公司运行带来了不小的困扰。 与此同时,有很多企业其实曾经在尝试云上办公,在云端开启一台“超级电脑”给员工,让员工能随时居家办公,同时,这台“超级电脑”不受性能限度,既能反对办公,也能反对图像、视频制作等场景。 MORE VFX:《漂泊地球》们是这样生产进去的说起来MORE VFX,咱们可能不太熟悉,然而提起《漂泊地球》、《刺杀小说家》、《唐人街探案3》、《你好,李焕英》简直无人不知,他们的前期特效就是MORE VFX主力提供的。单就《刺杀小说家》而言,MORE VFX在其中提供了超过95%的特效镜头,制作参加人数有七八百位。 在之前的制作过程中,设计制作公司往往面临着高峰期渲染算力有余、存储性能不够、数据传输瓶颈、素材平安危险等各种问题。对于MORE VFX而言,制作过程恰逢疫情期间,要如期交付我的项目,就须要员工在家近程办公。然而,一方面,大多员工家用电脑性能不能满足制作要求,另一方面我的项目数据资产全副都在公司的专用工作站和机房存储中,出于数据安全思考不能拷贝到员工家庭电脑。 在这个背景下,MORE VFX抉择了云桌面的模式,视效艺术家能够通过公网在家拜访阿里云的云桌面实例,再通过专线到办公室工作站进行生产制作,制作渲染工作间接提交云渲染,实现全国不同地区城市乃至海内的的艺术家及视效总监通过阿里云近程在线生产、审看、渲染、协同。 阿里云在近程办公计划中提供了一般远程桌面工具所不具备的数据安全管控能力,如可溯源的水印性能、可调整设施准入策略、禁用文件上传下载、且反对手绘板等行业专用的制作外设,云桌面的用户权限治理性能也能保障每个艺术家仅能登陆本人的工作站进行近程制作。MORE VFX 在保障行业数据安全合规的前提下,实现近程生产制作的指标。 将来:云办公能成为事实吗?阿尔文·托夫勒的“第三次浪潮”提出曾经过来40年了,信息化时代正在一次次刷新咱们的视线和设想。后工业社会互联网络正在扭转咱们的工作形式、生存形式、思考形式。在劳作方面,智人从单打独斗到集中作业,再到当初,咱们看到了弹性工作的更多可能,不是无止境的加班与无序的个人主义,这是在工夫、效率与集体实现正当考量下围绕独特指标的打算与安顿。 咱们都曾空想过将来,每个人都能自在安顿本人的工作与生存工夫而不用活在格子间里透过钢化玻璃才得以窥见一片蓝天;咱们都可能从工作中取得摄入与晋升而不单纯是消磨既有的常识与输入。 其实沉下心来想一想,说不定将来已来,安了一个无影云桌面,上班说走就走,让工作电脑留在工作场景,肩膀和双手失去解放,不必携带电脑,也能平安高效实现工作;不必放心电脑性能不够,电脑折损更新的费用能够忽略不计,为芯片、驱动、显卡、屏显花的钱能够省下来,外包、实习、协同作业都能够实现高效治理,对于开发者、设计者、计算者,最根底的硬件配置可能取得最高性能的应用,至于消费主义的那一套,让它随风去吧。 链接:https://www.aliyun.com/produc... 无影云电脑 (ALibaba Cloud Workspace),是一种易用、平安、高效的云上办公模式。它反对疾速便捷的桌面环境创立、部署、对立管控与运维。无需后期传统硬件投资,帮您疾速构建平安、高性能、低成本的企业桌面办公体系。可广泛应用于具备高数据安全管控、高性能计算等要求的平安办公、金融、设计、影视、教育等畛域。 原文链接本文为阿里云原创内容,未经容许不得转载。

September 15, 2021 · 1 min · jiezi

关于r语言:R语言基于线性回归的资本资产定价模型CAPM

原文链接:http://tecdat.cn/?p=20031 简介资本资产定价模型(CAPM) 是用于确定是否在一个特定资产的投资是值得的。实质上,问题是:“该资产的回报是否值得投资?” 在本教程中,咱们将利用CAPM模型,应用多元回归模型查看特定股票是否值得投资。 CAPM:公式经济学就是衡量取舍。依据CAPM公式,基本上将股票或任何类型的资产类别与绝对无风险的资产(通常是政府债券)进行比拟,因为这些资产的守约概率非常低。CAPM公式如下 E(Ri)是冀望收益率。Rf是无风险资产,通常是政府债券。i 系数反映了单个证券与整体市场组合的联动性,用来掂量单个证券的危险。E(Rm)-Rf被认为是 危险溢价。咱们能够用下图以图形形式示意CAPM模型 在 证券市场线(SML)上的无效组合或者是繁多的无风险资产或行是无风险资产与市场组合的组合。因而,资本市场线不能解释所有的繁多证券或者是只有危险证券组合的冀望收益率和危险之间的关系。。 咱们的指标是应用线性回归找到i的值。 数据咱们将应用数据来查找每只股票的beta。 kable(head(capm, 11), format = 'html') 1. ## dis ge gm 2. ## Min. :-0.267794 Min. :-0.234902 Min. :-0.389313 3. ## 1st Qu.:-0.043638 1st Qu.:-0.032974 1st Qu.:-0.076167 4. ## Median : 0.005858 Median :-0.004716 Median :-0.013017 5. ## Mean : 0.001379 Mean : 0.001361 Mean :-0.009081 6. ## 3rd Qu.: 0.047858 3rd Qu.: 0.040096 3rd Qu.: 0.068138 7. ## Max. : 0.241453 Max. : 0.192392 Max. : 0.276619 8. ## ibm msft xom 9. ## Min. :-0.226453 Min. :-0.343529 Min. :-0.116462 10. ## 1st Qu.:-0.038707 1st Qu.:-0.056052 1st Qu.:-0.028031 11. ## Median : 0.006482 Median : 0.003996 Median : 0.003309 12. ## Mean : 0.008332 Mean : 0.008557 Mean : 0.010488 13. ## 3rd Qu.: 0.051488 3rd Qu.: 0.056916 3rd Qu.: 0.041534 14. ## Max. : 0.353799 Max. : 0.407781 Max. : 0.232171 15. ## mkt riskfree 16. ## Min. :-0.184726 Min. :0.000025 17. ## 1st Qu.:-0.022966 1st Qu.:0.001376 18. ## Median : 0.010952 Median :0.002870 19. ## Mean : 0.002511 Mean :0.002675 20. ## 3rd Qu.: 0.037875 3rd Qu.:0.003904 21. ## Max. : 0.083925 Max. :0.005195 依据咱们的数据,咱们有六只股票,咱们必须决定这些股票是否值得投资。可怜的是,因为咱们必须首先将数据转换为公式(1),因而咱们不能仅仅拟合回归模型。咱们将必须依据已有变量来计算新变量。 ...

February 10, 2021 · 2 min · jiezi

关于r语言:R-语言学习笔记-1

根底语法变量在R语言中,变量的命名形式是由肯定的要求的: 变量名是否正确起因.dad12正确能够以 . 开始_dad12谬误不能够以 _ 开始ad18正确能够以字母开始5aads谬误不能够以数字开始.5aads谬误. 开始不能够间接接数字ad18%谬误$ 是非法字符总结来说就是,变量能够蕴含数字,字符,点符号,能够字符或点结尾,然而点后不能间接接数字。 你能够通过 print(ls()) 来查看你的所有变量: > print(ls())[1] "a" "ad18" "adsaw" "test" "tt" 还能够通过 rm() 来删除变量: > print(ls())[1] "a" "adsaw" "test" "tt" 赋值语法赋值语句: str <- "Hello World" ,后面的语句是将右侧的字符串赋值给变量 str ,其实在R语言中,= ,<-和 <<- 都能够起到赋值的作用,然而他们在许多状况下的作用是齐全不一样的,具体表现有几种(参考文献:你被R语言的=和<-搞昏了头吗): PS: 最新的R包外面还反对 -> , ->> 作为赋值符号,如:test(2) -> tt ,这是非法的 第一种:<- 生成匿名函数变量# 如果有一个函数,承受4个参数作为变量进行数据处理test <- function(data, key, value, bool){ a = cat('data:',data,'key:',key) # 输入一个拼接后的字符串 c <- paste('value:',value,'bool:',bool) # 输入一个拼接后的字符串 g <- paste(a,c) print(g)}# 接着我要调用这个函数(程序=)test(data='testdata', key='testkey', value='testValue', bool=TRUE) # 返回一个拼接后的字符串,能够看到当初是一一对应的# [1] "data: testdata key: testkey value: testValue bool: TRUE"# 接着我要调用这个函数(乱序=)test(key='testkey', data='testdata', bool=TRUE, value='testValue')# 返回一个拼接后的字符串,能够看到当初还是一一对应的# [1] "data: testdata key: testkey value: testValue bool: TRUE"# 接着我要调用这个函数(乱序<-)test(key<-'testkey', data<-'testdata', bool=TRUE, value='testValue')# 返回一个拼接后的字符串,能够看到后买你等号的并灭有被影响,# 而应用<-符号的最终却是依照函数定义的程序赋值,# 和咱们设想中的不统一# [1] "data: testkey key: testdata value: testValue bool: TRUE"第二种:<- 生成变量此外,和 = 差别一点的就是, a = 12 表白的仅仅是传值语句,并不会在空间中保留变量,而 a <- 12 是一个表达式,这在一些其余语法中就像是 var a = 12 ,以一个简略的例子来阐明: ...

December 8, 2020 · 2 min · jiezi

关于r语言:R语言ISLR工资数据进行多项式回归和样条回归分析

 原文链接:http://tecdat.cn/?p=8531执行多项式回归应用age预测wage。应用穿插验证为多项式抉择最佳次数。抉择了什么水平,这与应用进行假设检验的后果相比如何ANOVA?对所得多项式拟合数据进行绘图。加载工资数据集。保留所有穿插验证谬误的数组。咱们正在执行K=10  K倍穿插验证。 rm(list = ls())set.seed(1)library(ISLR)library(boot)# container of test errorscv.MSE <- NA# loop over powers of agefor (i in 1:15) { glm.fit <- glm(wage ~ poly(age, i), data = Wage) # we use cv.glm's cross-validation and keep the vanilla cv test error cv.MSE[i] <- cv.glm(Wage, glm.fit, K = 10)$delta[1]}# inspect results objectcv.MSE` [1] 1675.837 1601.012 1598.801 1594.217 1594.625 1594.888 1595.500[8] 1595.436 1596.335 1595.835 1595.970 1597.971 1598.713 1599.253[15] 1595.332` ...

August 21, 2020 · 7 min · jiezi

关于r语言:R语言GAM广义相加模型对物业耗电量进行预测

原文链接:http://tecdat.cn/?p=9024 人们对于电力的需要与依赖随着生存程度的进步而一直加深,用电负荷预测工作开始变得越来越重要,如果能够发现用电负荷的规律性,咱们就能够合理安排用电负荷。咱们应用某商业物业两个星期的电耗数据进行剖析。 GAM模型 当因变量和自变量不呈线性关系时,可用狭义相加模型(GAM)。GAM模型的长处,在于其解决响应变量与预测因子间的高度非线性和非枯燥关系方面的突出能力,是一种基于数据的模型(data-driven),数据决定着响应变量和预测因子之间的关系。电耗数据不是线性的,同时是一个有节令趋势的工夫序列趋势。那么GAM模型是否能够用来预测工夫序列呢? 首先绘制出用电量的工夫序列图,看下趋势 绘制工夫序列有两个次要自变量:天和周。 咱们的响应变量是电力负荷。 咱们来构建出GAM模型 咱们能够看到工夫变量对电力负荷的影响。 在左图中,负荷的峰值是白天下午3点左右。 同时咱们能够看到,周末耗电量降落。 而后咱们绘制耗电量曲面图更直观的发现法则。 咱们能够看到,最高峰是当“每日”变量的值靠近(3点),“周”变量的值为1(这是星期一)。 最初,咱们能够看到,电力负荷的最高值是星期一下午3点 直到星期四,而后负载在周末缩小。 结语 GAM模型的长处在于其解决高度非线性预测问题的突出能力。GAM模型是否能够利用在其余畛域? 抛砖:logisticregression在creditrisk外面用的很多,集体认为作为统计进入金融 风控是个不错的切入点。

August 14, 2020 · 1 min · jiezi

关于r语言:R语言多元CopulaGARCH模型时间序列预测

原文链接  http://tecdat.cn/?p=2623和宏观经济数据不同,金融市场上多为高频数据,比方股票收益率序列。直观的来说:后者要比前者“抖动”多了。有漂移且随机稳定的序列,在一元或多元的状况下,构建Copula模型和GARCH模型是最好的抉择。 多元GARCH家族中,品种十分多,须要本人多推导了解,抉择最优模型。本文应用R软件对3家上市公司近十年的每周回报率为例建设模型。 首先咱们能够绘制这三个工夫序列。 在这里应用多变量的ARMA-GARCH模型。 本文思考了两种模型 1 ARMA 模型残差的多变量GARCH过程 2 ARMA-GARCH过程残差的多变量模型(基于Copula ) 1 ARMA-GARCH模型 > fit1=garchFit(formula = ~ arma(2,1)+garch(1,1),data=dat[,1],cond.dist ="std") 可视化稳定 隐含的相关性 >emwa_series_cor=function(i=1,j=2){+ if((min(i,j)==1)&(max(i,j)==2)){+ a=1; b=5; ab=2} +} 2 BEKK(1,1)模型 : >library(MTS)> bekk=BEKK11(dat_arma) 隐含的相关性 对单变量GARCH模型残差建模 第一步可能是思考残差的动态(联结)散布。单变量边际散布是 而联结密度为 可视化Copula密度 查看相关性是否随着工夫的推移而稳固。 斯皮尔曼相关性 Kendall的tau相关性 对相关性建模,思考DCC模型 对数据进行预测 > library(rmgarch) > fcst=dccforecast(dcc.fit,n.ahead=200) plot(fcst)

August 10, 2020 · 1 min · jiezi

关于r语言:R语言多元CopulaGARCH模型时间序列预测

原文链接  http://tecdat.cn/?p=2623和宏观经济数据不同,金融市场上多为高频数据,比方股票收益率序列。直观的来说:后者要比前者“抖动”多了。有漂移且随机稳定的序列,在一元或多元的状况下,构建Copula模型和GARCH模型是最好的抉择。 多元GARCH家族中,品种十分多,须要本人多推导了解,抉择最优模型。本文应用R软件对3家上市公司近十年的每周回报率为例建设模型。 首先咱们能够绘制这三个工夫序列。 在这里应用多变量的ARMA-GARCH模型。 本文思考了两种模型 1 ARMA 模型残差的多变量GARCH过程 2 ARMA-GARCH过程残差的多变量模型(基于Copula ) 1 ARMA-GARCH模型 > fit1=garchFit(formula = ~ arma(2,1)+garch(1,1),data=dat[,1],cond.dist ="std") 可视化稳定 隐含的相关性 >emwa_series_cor=function(i=1,j=2){+ if((min(i,j)==1)&(max(i,j)==2)){+ a=1; b=5; ab=2} +} 2 BEKK(1,1)模型 : >library(MTS)> bekk=BEKK11(dat_arma) 隐含的相关性 对单变量GARCH模型残差建模 第一步可能是思考残差的动态(联结)散布。单变量边际散布是 而联结密度为 可视化Copula密度 查看相关性是否随着工夫的推移而稳固。 斯皮尔曼相关性 Kendall的tau相关性 对相关性建模,思考DCC模型 对数据进行预测 > library(rmgarch) > fcst=dccforecast(dcc.fit,n.ahead=200) plot(fcst)

August 10, 2020 · 1 min · jiezi

关于r语言:R语言如何使用rjags-R2jags来建立贝叶斯模型

原文链接:http://tecdat.cn/?p=2857本文是通过对area,perimeter,campactness几个变量的贝叶斯建模,来查看他们对groovelength这个变量的影响. 并且比照rjagsR2jags和内置贝叶斯预测函数的后果。 读取数据 read dataseed=read.csv("seeds_dataset.csv")seed=seed[,1:7]查看数据的构造str(seed)'data.frame': 209 obs. of 7 variables: $ area : num 14.9 14.3 13.8 16.1 14.4 ... $ perimeter : num 14.6 14.1 13.9 15 14.2 ... $ campactness : num 0.881 0.905 0.895 0.903 0.895 ... $ length : num 5.55 5.29 5.32 5.66 5.39 ... $ width : num 3.33 3.34 3.38 3.56 3.31 ... $ asymmetry : num 1.02 2.7 2.26 1.35 2.46 ... $ groovelength: num 4.96 4.83 4.8 5.17 4.96 ... ...

August 10, 2020 · 2 min · jiezi

关于r语言:R语言如何找到患者数据中具有差异的指标PLSDA分析

参考原文:http://tecdat.cn/?p=4550 从海量数据中发现潜在标记指标, 须要借助多变量模式识别办法. 无监督的模式识别办法包含主成分剖析(PCA、聚类分析(HCE)等,依据模式识别模型抽提出对分类有重要奉献的指标后, 如果还须要进一步验证这些指标的差异性,那么能够在r语言中应用PLSDA模型进行剖析。      本文应用几组患者对不同指标进行评分的数据,最初应用PLS—DA模型挖掘出不同西医分组形式下存在差别的指标。 数据1 (少分组数据) 通过plsda建模之后,咱们对失去的主成分进行画图,并且对不同分组的样本进行标识。 从后果中能够看到不同组别别离有哪些指标,以及哪些指标之间存在显著的差别? # plsda.breast <- plsda(X, Y, ncomp = 2)   # col.breast <- as.numeric(as.factor(Y)) # plotIndiv(plsda.breast, ind.names = TRUE, col = col.breast ,ellipse = TRUE)   从图中能够看到,分组a和分组b之间存在显著的差别,分组cdef之间的差别较小,分组a分组b和分组cdef间均存在显著差别。 同时,为了咱们能够从数值的角度来对这些分组的差异性进行剖析。 计算他们的相关矩阵: 间隔矩阵   从批示变量矩阵的后果来看,a的特征向量和b的特征向量之间存在显著差别,而cdef之间的差别较小 数据2 (多分组数据) 为了测试模型的拓展性,咱们测试了更多分组数据。相似能够失去如下的成分散点图:   同样计算间隔矩阵 dd 从后果中能够看到不同组别别离有哪些指标,以及哪些指标之间存在显著的差别? 从图中能够看到,分组GHEC之间的差别较小,分组ABDFIJK之间差别较小,这两类间均存在显著差别 从批示变量矩阵的后果来看,, GHEC特征向量之间的差别较小间隔也较小,分组ABDFIJK之间差别较小间隔也较小,这两类间均存在显著差别

August 6, 2020 · 1 min · jiezi

关于r语言:R语言如何找到患者数据中具有差异的指标PLSDA分析

参考原文:http://tecdat.cn/?p=4550 从海量数据中发现潜在标记指标, 须要借助多变量模式识别办法. 无监督的模式识别办法包含主成分剖析(PCA、聚类分析(HCE)等,依据模式识别模型抽提出对分类有重要奉献的指标后, 如果还须要进一步验证这些指标的差异性,那么能够在r语言中应用PLSDA模型进行剖析。      本文应用几组患者对不同指标进行评分的数据,最初应用PLS—DA模型挖掘出不同西医分组形式下存在差别的指标。 数据1 (少分组数据) 通过plsda建模之后,咱们对失去的主成分进行画图,并且对不同分组的样本进行标识。 从后果中能够看到不同组别别离有哪些指标,以及哪些指标之间存在显著的差别? # plsda.breast <- plsda(X, Y, ncomp = 2)   # col.breast <- as.numeric(as.factor(Y)) # plotIndiv(plsda.breast, ind.names = TRUE, col = col.breast ,ellipse = TRUE)   从图中能够看到,分组a和分组b之间存在显著的差别,分组cdef之间的差别较小,分组a分组b和分组cdef间均存在显著差别。 同时,为了咱们能够从数值的角度来对这些分组的差异性进行剖析。 计算他们的相关矩阵: 间隔矩阵   从批示变量矩阵的后果来看,a的特征向量和b的特征向量之间存在显著差别,而cdef之间的差别较小 数据2 (多分组数据) 为了测试模型的拓展性,咱们测试了更多分组数据。相似能够失去如下的成分散点图:   同样计算间隔矩阵 dd 从后果中能够看到不同组别别离有哪些指标,以及哪些指标之间存在显著的差别? 从图中能够看到,分组GHEC之间的差别较小,分组ABDFIJK之间差别较小,这两类间均存在显著差别 从批示变量矩阵的后果来看,, GHEC特征向量之间的差别较小间隔也较小,分组ABDFIJK之间差别较小间隔也较小,这两类间均存在显著差别

August 6, 2020 · 1 min · jiezi

关于r语言:R语言混合正态分布EM最大期望估计

 原文链接:http://tecdat.cn/r语言实现:混合正态分布em最大冀望预计法/ 因为近期在剖析数据时用到了EM最大冀望预计法这个算法,在参数估计中也用到的比拟多。然而,发现国内在R软件上实现高斯混合散布的EM的实例并不多,大多数是对于1到2个高斯混合散布的实现,不易于推广,因而这里分享一下本人编写的k个高斯混合散布的EM算法实现请大神们多多指教。并联合EMCluster包对后果进行验算。 本文应用的密度函数为上面格局: 对应的函数原型为 em.norm(x,means,covariances,mix.prop) x为原数据,means为初始均值,covariances为数据的协方差矩阵,mix.prop为混合参数初始值。 应用的数据为MASS包外面的synth.te数据的前两列 x <- synth.te[,-3] 首先装置须要的包,并读取原数据。 install.packages("MASS") library(MASS) install.packages("EMCluster") library(EMCluster) install.packages("ggplot2") library(ggplot2) Y=synth.te[,c(1:2)] qplot(x=xs, y=ys, data=Y) 而后绘制相应的变量相干图: 从图上咱们能够大略预计出初始的均匀点为(-0.7,0.4) (-0.3,0.8)(0.5,0.6) 当然为了试验的严谨性,我能够从两个初始均值点的状况开始预计 首先输出初始参数: mustart = rbind(c(-0.5,0.3),c(0.4,0.5)) covstart = list(cov(Y), cov(Y)) probs = c(.01, .99) 而后编写em.norm函数,留神其中的clusters值须要依据不同的初始参数进行批改, em.norm = function(X,mustart,covstart,probs){ params = list(mu=mustart, var=covstart, probs=probs) clusters = 2 tol=.00001 maxits=100 showits=T require(mvtnorm) N = nrow(X) mu = params$mu var = params$var probs = params$probs ...

August 6, 2020 · 2 min · jiezi

关于r语言:r语言618电商大数据分析可视化报告

 原文链接:http://tecdat.cn/?p=1078 618购物狂欢节前后,网民较常搜寻的关键词在微博、微信、新闻三大渠道的互联网数据体现,同时通过剖析平台采集618相干媒体报道和消费者提及数据。 社交媒体指数趋势察看 平台数据显示,5月30日起,网上对于618的探讨显著热烈起来。5月30日网上声量相干探讨的主贴有3130条,其中提及最多的是对于“零点,天猫打响618大战第一枪“、”天猫618掀价格战:大家电比京东贵我就赔!“内容的转发,从媒体源数据比照中可见,此话题在微信的传播速度稍快于微博。 数据显示,5月30日至6月6日期间,消费者探讨最多的关键词、声量第一的是”天猫“,天猫以声量数12275位居618关键词搜寻榜首。而在618的网络声量中,天猫的相干探讨均占据了40%以上内容。 以微博为例,察看其用户沉闷群体以女性较多,次要来自一/二线城市,他们关注的话题大多为购物等话题,日常分享女装化妆品等话题偏多,品牌通过与微博的单干,更易匹配到指标人群。 洞察销售数据不仅买家们剁手不可开交,卖家们也是八仙过海,花样百出。狂欢过后,感性的卖家逐步发现,在电商平台上,并不是俺们家所有的商品都能搭上六一八的便车。那么,六一八销量与哪些因素无关?商家应抉择怎么的促销策略? 为此,咱们采集了线上电商平台的销售数据。从销量来看,这些产品有的成为爆款,有的却无人问津,甚至约有35.8%的产品销量为零。另外,从价格来看,大部分卖家通过历年六一八曾经成为“老司机”,只管也采取促销流动,然而提价甚微(约有84.9%的产品提价不超过10元)。 从品类销售上来看,女士类产品销售较好,其中女鞋、女装都晋升显著。看来,剁手主力还是以女性消费者为主。 另外,从价格来看,大部分卖家通过历年双十一曾经成为“老司机”,只管也采取促销流动,然而提价很少(约有20%的产品没有提价),从销量和提价的关系来看,通过提价来促销的成果甚微。 从不同维度的评分来看,消费者对卖家的服务态度称心水平最高,然而提价的幅度显然没有达到他们的预期。 女性消费者都喜爱买什么货色呢?通过简略的分词、词频统计,咱们可能发现,在双十一期间销售量>0的商品中,呈现了“冬季”、“清凉” 这样的季节性词汇;同时,也有“新款”、“韩版”、“时尚”这样的样式热词。 机器学习促销策略--LDA主题模型主题模型(topic modeling)是一种常见的机器学习利用,次要用于对文本进行分类。形象来说,主题就是一个桶,外面装了呈现概率较高的单词,这些单词与这个主题有很强的相关性。 如果机器能了解这个隐含语义,就能展现相应的广告——这样点击率会更高。在广告、搜寻和举荐中,最重要的问题之一就是了解用户趣味以及页面、广告、商品等的隐含语义。 通过对商品关键词应用LDA建模,咱们失去模型有3个主题,主题1对于材质(次要的词为麝皮、山羊绒等),主题2对于格调(次要的词为商务、韩版等),主题3对于色彩(次要的词为咖啡色、蓝色等)。通过机器了解的隐含语义,咱们就能展现相应的广告,从而进步点击率。 结语不论是近期的“天猫618”还是“京东618节”,泛滥电商巨头及品牌齐聚,正如马爸爸提出的,咱们都处在一个全新的批发时代,正在逐渐预感着生产需要的变动,在同质化重大的当下,如何走进消费者并博得关注是每个品牌都十分重要的课题。

August 5, 2020 · 1 min · jiezi

关于r语言:r语言618电商大数据分析可视化报告

 原文链接:http://tecdat.cn/?p=1078 618购物狂欢节前后,网民较常搜寻的关键词在微博、微信、新闻三大渠道的互联网数据体现,同时通过剖析平台采集618相干媒体报道和消费者提及数据。 社交媒体指数趋势察看 平台数据显示,5月30日起,网上对于618的探讨显著热烈起来。5月30日网上声量相干探讨的主贴有3130条,其中提及最多的是对于“零点,天猫打响618大战第一枪“、”天猫618掀价格战:大家电比京东贵我就赔!“内容的转发,从媒体源数据比照中可见,此话题在微信的传播速度稍快于微博。 数据显示,5月30日至6月6日期间,消费者探讨最多的关键词、声量第一的是”天猫“,天猫以声量数12275位居618关键词搜寻榜首。而在618的网络声量中,天猫的相干探讨均占据了40%以上内容。 以微博为例,察看其用户沉闷群体以女性较多,次要来自一/二线城市,他们关注的话题大多为购物等话题,日常分享女装化妆品等话题偏多,品牌通过与微博的单干,更易匹配到指标人群。 洞察销售数据不仅买家们剁手不可开交,卖家们也是八仙过海,花样百出。狂欢过后,感性的卖家逐步发现,在电商平台上,并不是俺们家所有的商品都能搭上六一八的便车。那么,六一八销量与哪些因素无关?商家应抉择怎么的促销策略? 为此,咱们采集了线上电商平台的销售数据。从销量来看,这些产品有的成为爆款,有的却无人问津,甚至约有35.8%的产品销量为零。另外,从价格来看,大部分卖家通过历年六一八曾经成为“老司机”,只管也采取促销流动,然而提价甚微(约有84.9%的产品提价不超过10元)。 从品类销售上来看,女士类产品销售较好,其中女鞋、女装都晋升显著。看来,剁手主力还是以女性消费者为主。 另外,从价格来看,大部分卖家通过历年双十一曾经成为“老司机”,只管也采取促销流动,然而提价很少(约有20%的产品没有提价),从销量和提价的关系来看,通过提价来促销的成果甚微。 从不同维度的评分来看,消费者对卖家的服务态度称心水平最高,然而提价的幅度显然没有达到他们的预期。 女性消费者都喜爱买什么货色呢?通过简略的分词、词频统计,咱们可能发现,在双十一期间销售量>0的商品中,呈现了“冬季”、“清凉” 这样的季节性词汇;同时,也有“新款”、“韩版”、“时尚”这样的样式热词。 机器学习促销策略--LDA主题模型主题模型(topic modeling)是一种常见的机器学习利用,次要用于对文本进行分类。形象来说,主题就是一个桶,外面装了呈现概率较高的单词,这些单词与这个主题有很强的相关性。 如果机器能了解这个隐含语义,就能展现相应的广告——这样点击率会更高。在广告、搜寻和举荐中,最重要的问题之一就是了解用户趣味以及页面、广告、商品等的隐含语义。 通过对商品关键词应用LDA建模,咱们失去模型有3个主题,主题1对于材质(次要的词为麝皮、山羊绒等),主题2对于格调(次要的词为商务、韩版等),主题3对于色彩(次要的词为咖啡色、蓝色等)。通过机器了解的隐含语义,咱们就能展现相应的广告,从而进步点击率。 结语不论是近期的“天猫618”还是“京东618节”,泛滥电商巨头及品牌齐聚,正如马爸爸提出的,咱们都处在一个全新的批发时代,正在逐渐预感着生产需要的变动,在同质化重大的当下,如何走进消费者并博得关注是每个品牌都十分重要的课题。

August 5, 2020 · 1 min · jiezi

关于r语言:r语言对twitter推特数据进行挖掘

原文链接:http://tecdat.cn/r语言对twitter数据进行开掘/ Twitter is a popular social network, where a lot of data waiting for our analysis. Twitter R package is a good tool for text mining of twitter data. This article is about how to use Twitter R package to get twitter data and import it into R, and then make some interesting data analysis. 第一步是注册一个你的应用程序。 为了可能拜访Twitter数据编程,咱们须要创立一个与Twitter的API交互的应用程序。 注册后你将收到一个密钥和明码: 获取密钥和明码后便能够在R外面受权咱们的应用程序以代表咱们拜访Twitter: ...

August 5, 2020 · 1 min · jiezi

关于r语言:r语言对twitter推特数据进行挖掘

原文链接:http://tecdat.cn/r语言对twitter数据进行开掘/ Twitter is a popular social network, where a lot of data waiting for our analysis. Twitter R package is a good tool for text mining of twitter data. This article is about how to use Twitter R package to get twitter data and import it into R, and then make some interesting data analysis. 第一步是注册一个你的应用程序。 为了可能拜访Twitter数据编程,咱们须要创立一个与Twitter的API交互的应用程序。 注册后你将收到一个密钥和明码: 获取密钥和明码后便能够在R外面受权咱们的应用程序以代表咱们拜访Twitter: ...

August 5, 2020 · 1 min · jiezi

关于r语言:r语言对twitter推特数据进行挖掘

原文链接:http://tecdat.cn/r语言对twitter数据进行开掘/ Twitter is a popular social network, where a lot of data waiting for our analysis. Twitter R package is a good tool for text mining of twitter data. This article is about how to use Twitter R package to get twitter data and import it into R, and then make some interesting data analysis. 第一步是注册一个你的应用程序。 为了可能拜访Twitter数据编程,咱们须要创立一个与Twitter的API交互的应用程序。 注册后你将收到一个密钥和明码: 获取密钥和明码后便能够在R外面受权咱们的应用程序以代表咱们拜访Twitter: ...

August 5, 2020 · 1 min · jiezi

关于r语言:R语言电信公司churn数据客户流失-k近邻knn模型预测分析

原文链接:http://tecdat.cn/?p=5521  Data backgroundA telephone company is interested in determining which customer characteristics are useful for predicting churn, customers who will leave their service.  The data set  is Churn . The fields are as follows:   State  discrete. account length  continuous. area code  continuous. phone number  discrete. international plan  discrete. voice mail plan  discrete. number vmail messages  continuous. total day minutes  continuous. total day calls  continuous. total day charge ...

August 5, 2020 · 6 min · jiezi

关于r语言:R语言电信公司churn数据客户流失-k近邻knn模型预测分析

原文链接:http://tecdat.cn/?p=5521  Data backgroundA telephone company is interested in determining which customer characteristics are useful for predicting churn, customers who will leave their service.  The data set  is Churn . The fields are as follows:   State  discrete. account length  continuous. area code  continuous. phone number  discrete. international plan  discrete. voice mail plan  discrete. number vmail messages  continuous. total day minutes  continuous. total day calls  continuous. total day charge ...

August 5, 2020 · 6 min · jiezi

关于r语言:R语言犯罪率回归模型报告Regression-model-on-crimerate-report

原文链接:http://tecdat.cn/category/大数据部落/Objection:  We  attempts to explore the relationship between different demographic factors to crime rate, find out the important factors related to crime rate and the factors that have important influence on crime rate through regression model. Finally, we summarize the model and make suggestions on the control of crime rate` Population Income Illiteracy Life Exp Murder HS Grad FrostAlabama 3615 3624 2.1 69.05 15.1 41.3 20Alaska 365 6315 1.5 69.31 11.3 66.7 152Arizona 2212 4530 1.8 70.55 7.8 58.1 15Arkansas 2110 3378 1.9 70.66 10.1 39.9 65California 21198 5114 1.1 71.71 10.3 62.6 20Colorado 2541 4884 0.7 72.06 6.8 63.9 166AreaAlabama 50708Alaska 566432Arizona 113417Arkansas 51945California 156361Colorado 103766` ...

July 26, 2020 · 5 min · jiezi

关于r语言:R语言旅行推销员问题TSP

原文链接:http://tecdat.cn/?p=6551罕用术语中的旅行推销员问题(TSP)是最简单的问题之一,归结为组合优化。旅行到n个城市(顶点)须要查看(n-1)!可能性。3,000个地点有4 * 10 ^ 9131个可能的解决方案。 本文考察了R包的性能:TSP和tspmeta。后果对我的应用十分称心。 以下代码输入您的TSP225.csv文件并输入您的解决方案和可视化。生成的'tour'对象是一类TOUR和整数;它蕴含您的解决方案。 coords.df <- data.frame(long=TSP225$Long, lat=TSP225$Lat)coords.mx <- as.matrix(coords.df)# Compute distance matrixdist.mx <- dist(coords.mx)# Construct a TSP objecttsp.ins <- tsp_instance(coords.mx, dist.mx )#tour <- run_solver(tsp.ins, method="2-opt")#Plotautoplot(tsp.ins, tour) 比拟解决方案:下图显示了7种启发式解决方案的最佳游览长度和协和式的确切解决方案。对于协和解决方案,我应用了在UW-Madison主持的NEOS-Server。 methods <- c("nearest_insertion" "2-opt")tours <- sapply(methods simplify = FALSE)dotchart( ), ) 在2D中的#2 3000个随机顶点 显然,随着顶点数量的增长,准确解和其余启发式解决方案之间的差别显着减少。2-opt解决方案最靠近最优。反复的2-opt解决方案和筛选最小的值让我十分靠近于确切的解决方案 。

July 19, 2020 · 1 min · jiezi

关于r语言:R语言法国足球联赛球员因子分析主成分分析FAPCA

原文 http://tecdat.cn/?p=4167 数据集 fooball球员在场上的地位数据来自国际足联15岁的视频游戏 。游戏的特点是在游戏的各个方面评估每个玩家的能力。原本,等级是量化变量(介于0和100之间),但咱们将它们转换为分类变量(咱们将探讨为什么咱们稍后抉择这样做)。所有能力都被编码在4个地位:1.低/ 2.均匀/ 3.高/ 4.十分高。 加载和筹备数据首先将数据集加载到data.frame中。重要的是要留神的是FactoMineR须要的因素。  第二行也将整数列转换为因子。  数据分析咱们的数据集蕴含分类变量。适当的数据分析办法是多重对应剖析。  这产生了三个图:类别和玩家的阶乘轴上的投影,以及变量的图形。让咱们来看看这些图中的第二个: 在试图进一步剖析之前,有些事件应该揭示咱们。这里显然有两个玩家群!  解释显然,咱们必须先将剖析缩小到肯定数量的阶乘轴。我最喜爱的办法来抉择轴的数量是肘法。咱们绘制特征值的图形: > barplot(mca_no_gk $ eig $ eigenvalue) 特征值图围绕第三或第四个特征值,咱们察看到一个值的降落(这是MCA解释的方差的百分比)。这意味着咱们剖析中保留一个轴的边际收益在第三或第四个之后较低。因而,咱们抉择将咱们的剖析缩小到前三个因子轴(咱们也能够证实抉择4个轴)。当初让咱们持续解释,从前两个轴开始: > plot.MCA(mca_no_gk  ) 在前两个因子轴上投射 咱们能够通过在图表上读取仿佛最有代表性的变量和模态的名称来开始剖析。  第一轴的最有代表性的能力是在轴的右侧,攻击能力 的能力较弱,右边的能力十分强。因而,咱们的解释是,轴心1依据他们的防御能力(左侧更好的攻击能力,右侧更弱)来拆散玩家。咱们对第2轴进行同样的剖析,并得出结论:依据他们的防守能力来辨别玩家:在图形顶部会发现更好的防守者,而在图形底部会发现弱防守者。 补充变量也能够帮忙确认咱们的解释,特地是地位变量: > plot.MCA(mca_no_gk,invisible = c(“ind”,“var”)) 在前两个阶乘轴上投影补充变量实际上,咱们在图的右边局部发现了攻打地位(LW,ST,RW),并在图的顶部看到了防守地位(CB,LB,RB)。 如果咱们的解释是正确的,那么图表中第二个二元曲线上的投影就能够代表球员的整体程度。最右边的球员将会在左上角找到,而较弱的将会在右下角找到。有很多办法能够查看这个问题,例如查看“整体”变量的模式的预测。正如所料,“overall_4”位于左上角,“overall_1”位于右下角。此外,在补充变量的图表中,咱们察看到“法甲联赛第一”(Ligue 1)位于左上方,而“Ligue 2”(第二联)位于右下方。 > plot.MCA(mca_no_gk,invisible = c(“ind”,“var”),axes = c(2,3)) 在第二和第三阶乘轴上投影变量最具代表性的第三轴的模式是技术上的弱点:技术能力较低的球员(运球,控球等)位于轴线的末端,而这些能力中问题最高的球员往往被发现在轴的核心: 在第二和第三阶乘轴上投影补充变量咱们留神到在补充变量的帮忙下,中场均匀领有最高的技术能力,而前锋(ST)和后卫(CB,LB,RB)仿佛个别都不以球控技术着称。 最初两行应用Mathieu Valbuena在坐标轴1和坐标轴2上生成图形,而后是2和3: 1号和2号轴与Mathieu Valbuena作为补充  2号和3号轴与Mathieu Valbuena作为补充  所以,马蒂厄·瓦尔布纳仿佛有很好的防御技巧(左图),但他也有很好的整体程度(他在第二个二分线上的投射比拟高)。他也位于3号轴的核心,这示意他具备良好的技术能力。因而,咱们不应该感到诧异的是,最适宜他的地位(统计上当然是!)是中场地位(CAM,LM,RM)。再加上几行代码,咱们也能够找到法国联赛中最类似的球员: 咱们失去:Ladislas Douniama,FrédéricSammaritano,Florian Thauvin,N'GoloKanté和Wissam Ben Yedder。

July 19, 2020 · 1 min · jiezi

关于r语言:R语言生存分析数据分析可视化案例

原文链接:http://tecdat.cn/?p=2858指标本文的目标是对如何在R中进行生存剖析进行简短而全面的评估。对于该主题的文献很宽泛,仅波及无限数量的(常见)问题/特色。 可用的R包数量反映了对该主题的钻研范畴。  R包能够应用各种R包来解决特定问题,并且还有代替性能来解决常见问题。以下是本次审查中用于读取,治理,剖析和显示数据的软件包。 运行以下行以装置和加载所需的包。 if (!require(pacman)) install.packages("pacman")pacman::p_load(tidyverse, survival )数据该评估将基于orca数据集,该数据集蕴含来自基于人群的回顾性队列设计的数据。  它包含1985年1月1日至2005年12月31日期间芬兰最北部省份诊断为口腔鳞状细胞癌(OSCC)的338名患者的一部分。患者的随访始于癌症诊断之日,并于2008年12月31日死亡,迁徙或随访截止日期完结。死亡起因分为两类:(1) )OSCC死亡; (2)其余起因造成的死亡。 数据集蕴含以下变量: id=序号, sex=性别,类别1 =“女性”的因素,2 =“男性”, age=诊断癌症日期的年龄(年), stage=肿瘤的TNM分期(因子):1 =“I”,..., 4 =“IV”,5 =“unkn”  time=自诊断至死亡或审查的随访工夫(以年为单位), event=完结随访的事件(因子):1 =活检,2 =口腔癌死亡, 3 =其余起因造成的死亡。  将数据从URL加载到R中。 head(orca) id sex age stage time event1 1 Male 65.42274 unkn 5.081 Alive2 2 Female 83.08783 III 0.419 Oral ca. death3 3 Male 52.59008 II 7.915 Other death4 4 Male 77.08630 I 2.480 Other death5 5 Male 80.33622 IV 2.500 Oral ca. death6 6 Female 82.58132 IV 0.167 Other deathsummary(orca) id sex age stage time event Min. : 1.00 Female:152 Min. :15.15 I :50 Min. : 0.085 Alive :109 1st Qu.: 85.25 Male :186 1st Qu.:53.24 II :77 1st Qu.: 1.333 Oral ca. death:122 Median :169.50 Median :64.86 III :72 Median : 3.869 Other death :107 Mean :169.50 Mean :63.51 IV :68 Mean : 5.662 3rd Qu.:253.75 3rd Qu.:74.29 unkn:71 3rd Qu.: 8.417 Max. :338.00 Max. :92.24 Max. :23.258 生存数据分析生存剖析侧重于事件数据的工夫,通常称为故障工夫,。在咱们的例子中,是诊断后的死亡工夫。ŤTŤ≥ 0T≥0ŤT ...

July 19, 2020 · 11 min · jiezi

关于r语言:R语言深度学习不同模型对比分析案例

原文链接:http://tecdat.cn/?p=5147介绍深度学习是机器学习最近的一个趋势,模仿高度非线性的数据表示。在过来的几年中,深度学习在各种利用中取得了微小的发展势头(Wikipedia 2016a)。其中包含图像和语音辨认,无人驾驶汽车,自然语言解决等等。  明天,深度学习对于简直所有须要机器学习的工作都是十分无效的。然而,它特地适宜简单的分层数据。其潜在的人工神经网络模型高度非线性示意; 这些通常由多层联合非线性转换和定制架构组成。图1形容了一个深度神经网络的典型示意。 图1.深度神经网络的模型 深度学习的胜利带来了各种编程语言的各种框架和库。例子包含Caffee,Theano,Torch和Tensor Flow等等。这篇博客文章的目标是为编程语言R提供不同深度学习软件包的概述和比拟。咱们比拟不同数据集的性能和易用性。 R学习  R编程语言在统计人员和数据挖掘人员之间的易用性以及简单的可视化和剖析方面曾经取得了相当的遍及。随着深度学习时代的到来,对R的深度学习的反对一直增长,随着越来越多的软件包的推出,本节提供以下软件包提供的无关深度学习的概述:MXNetR,darch,deepnet,H2O和deepr。 首先,咱们留神到,从一个包到另一个包的底层学习算法有很大的不同。同样,表1显示了每个软件包中可用办法/体系结构的列表。 表1. R包中可用的深度学习办法列表。 包神经网络的可用体系结构 MXNetR前馈神经网络,卷积神经网络(CNN) 达奇限度玻尔兹曼机,深层信念网络 DEEPNET前馈神经网络,受限玻尔兹曼机器,深层信念网络,堆栈主动编码器 H2O前馈神经网络,深度主动编码器 deepr从H2O和深网包中简化一些性能 包“MXNetR”MXNetR包是用C ++编写的MXNet库的接口。它蕴含前馈神经网络和卷积神经网络(CNN)(MXNetR 2016a)。它也容许人们构建定制的模型。该软件包分为两个版本:仅限CPU或GPU版本。以前的CPU版本能够间接从R外部间接装置,而后者的GPU版本依赖于第三方库(如cuDNN),并须要从其源代码(MXNetR 2016b)中构建库。 前馈神经网络(多层感知器)能够在MXNetR中构建,其函数调用如下: mx.mlp(data, label, hidden_node=1, dropout=NULL, activation=”tanh”, out_activation=”softmax”, device=mx.ctx.default(),…)参数如下: data - 输出矩阵 label - 培训标签 hidden_node - 蕴含每个暗藏层中暗藏节点数量的向量 dropout - [0,1)中蕴含从最初一个暗藏层到输入层的失落率的数字 activation - 蕴含激活函数名称的单个字符串或向量。有效值是{ 'relu','sigmoid','softrelu','tanh'} out_activation - 蕴含输入激活函数名称的单个字符串。有效值是{ 'rmse','sofrmax','logistic'} device- 是否训练mx.cpu(默认)或mx.gpu ... - 传递给其余参数 mx.model.FeedForward.create 函数mx.model.FeedForward.create在外部应用,mx.mpl并采纳以下参数: symbol - 神经网络的符号配置 ctx - 上下文,即设施(CPU / GPU)或设施列表(多个CPU或GPU) num.round - 训练模型的迭代次数 ...

July 18, 2020 · 2 min · jiezi

关于r语言:R语言隐马尔可夫模型HMM识别不断变化的股票市场条件

原文:http://tecdat.cn/?p=3784理解不同的市场情况如何影响您的策略体现可能会对您的回报产生微小的影响。 某些策略在稳定激烈的市场中体现良好,而其余策略则须要强劲而安稳的趋势,否则将面临长时间的上涨危险。搞清楚什么时候开始或进行交易策略,调整危险和资金治理技巧,甚至设置进入和退出条件的参数都取决于市场“制度”或以后的状况。 可能辨认不同的市场制度并相应地扭转您的策略可能意味着市场胜利和失败之间的差别。在本文中,咱们将探讨如何通过应用一种弱小的机器学习算法来辨认不同的市场机制,称为“隐马尔可夫模型”。 隐马尔可夫模型马尔科夫模型是一个概率过程,看以后的状态来预测下一个状态。一个简略的例子就是看天气。假如咱们有三个天气条件:多雨,阴天,晴天。如果明天下雨,马尔可夫模型寻找每个不同的天气情况产生的概率。例如,今天可能持续下雨的概率较高,多云的可能性略低,晴天可能性较小。 明天的天气今天的天气变动的概率 多雨的多雨的65% 多雨的多云的25% 多雨的晴朗10% 多云的多雨的55% 多云的多云的20% 多云的晴朗25% 晴朗多雨的10% 晴朗多云的30% 晴朗晴朗60% 这仿佛是一个非常简单的过程,但其复杂性在于不晓得每个机制转移的概率,以及如何解释这些随工夫变动的概率。这就是隐马尔可夫模型(HMM)发挥作用的中央。他们可能预计每个制度的转变概率,而后依据目前的状况输入最可能的制度。 交易申请十分清晰。咱们能够将市场定义为看涨,看跌,横盘整顿,或者稳定率高或者低,或者咱们晓得的一些因素的综合影响咱们的策略的体现,而不是天气条件。 构建实在数据模型咱们正在寻找基于这些因素的不同的市场制度,而后咱们能够用它来优化咱们的交易策略。为此,咱们将应用depmixS4 R库以及可追溯到2012年的EUR / USD日图来构建模型。 首先,咱们装置这些库并在R中构建咱们的数据集。 ModelData <-data.frame(LogReturns,ATR)#为咱们的HMM模型创立数据框ModelData <-ModelData [-c(1:14),]#删除正在计算指标的数据colnames(ModelData)< - c(“LogReturns”,“ATR”)#name咱们的列咱们将LogReturns和ATR设置为咱们的响应变量。咱们将LogReturns和ATR设置为咱们的响应变量。咱们将LogReturns和ATR设置为响应变量应用咱们刚刚构建的数据框架,要设置3个不同的机制,并将响应散布设置为高斯。 HMMfit <-fit(HMM,verbose = FALSE)#将咱们的模型增加到数据集中 转换矩阵给了咱们从一个状态挪动到下一个状态的概率。 HMMpost <-posterior(HMMfit)#查找咱们的数据集中每个状态的后验概率#咱们能够看到,咱们当初有每个状态的概率每天以及最高概率类。 让咱们看看咱们发现了什么: 每个制度别离的概率: 咱们能够看到,机制3往往是高稳定和大幅度稳定的期间,机制2的特点是中等稳定,机制1是低稳定的。 隐马尔可夫模型是弱小的工具,能够让你洞察一直变动的市场条件。

July 18, 2020 · 1 min · jiezi

关于r语言:R语言连续时间马尔科夫链模拟案例-Markov-Chains

原文链接:http://tecdat.cn/?p=4182 案例 一个加油站有一个繁多的泵,没有空间供车辆期待(如果车辆达到,泵不在,它就会来到)。车辆达到与以下的速率泊松过程加油站=3/20=3/20每分钟车辆,其中75%是汽车,25%是摩托车。加油工夫能够用一个指数随机变量建模,均匀汽车8分钟,摩托车3分钟,服务速率为C= 1 / 8C=1/8汽车和米= 1 / 3米=1/3 摩托车每分钟。 因而,咱们能够通过将这些概率乘以每个状态下的车辆数量来计算零碎中的均匀车辆数量。 # Arrival ratelambda <- 3/20# Service rate (cars, motorcycles)mu <- c(1/8,1/3)# Probability of carp <- 0.75#当初,咱们将模拟系统simmer并验证 option.1<- function(t) {car <->% seize("pump",amount=1)%>% timeout(function()rexp(1, mu[1]))为了辨别汽车和摩托车,咱们能够在获取资源后定义一个分支来抉择适合的服务工夫。 这option.3相当于option.1性能。 例如, valueplot(gas.station,"resources","usage","pump",items="system")+ geom_hline(yintercept=N_average_theor)#> Warning: 'plot.simmer' is deprecated.#> Use 'plot(get_mon_resources(x))' instead. 这些是一些体现的后果:library(microbenchmark)t <- 1000/lambdatm <- microbenchmark(option.1(t),option.2(t),option.3(t))autoplot(tm)+ scale_y_log10(breaks=function(limits)pretty(limits,5))+ ylab("Time [milliseconds]")

July 18, 2020 · 1 min · jiezi

关于r语言:R语言中实现马尔可夫链蒙特卡罗MCMC模型

原文链接:http://tecdat.cn/?p=2687什么是MCMC,什么时候应用它?MCMC只是一个从散布抽样的算法。 这只是泛滥算法之一。这个术语代表“马尔可夫链蒙特卡洛”,因为它是一种应用“马尔可夫链”(咱们将在前面探讨)的“蒙特卡罗”(即随机)办法。MCMC只是蒙特卡洛办法的一种,只管能够将许多其余罕用办法看作是MCMC的简略特例。 正如下面的段落所示,这个话题有一个疏导问题,咱们会缓缓解决。 我为什么要从调配中抽样?你可能没有意识到你想(实际上,你可能并不想)。然而,从散布中抽取样本是解决一些问题的最简略的办法。 可能MCMC最罕用的办法是从贝叶斯推理中的某个模型的后验概率分布中抽取样本。通过这些样本,你能够问一些问题:“参数的平均值和可信度是多少?”。 如果这些样本是来自散布的独立样本,则 预计均值将会收敛在实在均值上。 假如咱们的指标散布是一个具备均值m和标准差的正态分布s。显然,这种散布的意思是m,但咱们试图通过从散布中抽取样本来展现。 作为一个例子,思考用均值m和标准偏差s来预计正态分布的均值(在这里,我将应用对应于规范正态分布的参数): 咱们能够很容易地应用这个rnorm 函数从这个散布中抽样  seasamples<-rn 000,m,s)样本的平均值十分靠近实在平均值(零): mean(sa es) ## [1] -0. 537事实上,在这种状况下,$ n $样本预计的预期方差是$ 1 / n $,所以咱们预计大部分值在$ \\ pm 2 \\,/ \\ sqrt {n} = 0.02 $ 10000分的实在意思。 summary(re 0,mean(rnorm(10000,m,s)))) ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## -0.03250 -0.00580 0.00046 0.00042 0.00673 0.03550这个函数计算累积平均值(即元素$ k $,元素$ 1,2,\\ ldots,k $除以$ k $)之和。 cummean<-fun msum(x)/seq_along(x) plot(cummaaSample",ylab="Cumulative mean",panel.aabline(h=0,col="red"),las=1) ...

July 17, 2020 · 2 min · jiezi

关于r语言:R语言Bass模型进行销售预测

原文:http://tecdat.cn/?p=3937 BASS扩散模型BASS扩散模型三个参数:#最终购买产品的总人数,m; 翻新系数p; 和#系数的模拟, q# exampleT79<-1:10Tdelt<-(1:100)/10Sales<-c(840,1470,2110,4000,7590,10950,10530,9470,7790,5890)Cusales<-cumsum(Sales)Bass.nls<-nls(Sales~M*(((P+Q)^2/P)*exp(-(P+Q)*T79))/(1+(Q/P)*exp(-(P+Q)*T79))^2,start=list(M=60630,P=0.03,Q=0.38))summary(Bass.nls)#### Formula: Sales ~ M * (((P + Q)^2/P) * exp(-(P + Q) * T79))/(1 + (Q/P) *## exp(-(P + Q) * T79))^2#### Parameters:## Estimate Std. Error t value Pr(>|t|)## M 6.80e+04 3.13e+03 21.74 1.1e-07 ***## P 6.59e-03 1.43e-03 4.61 0.0025 **## Q 6.38e-01 4.14e-02 15.41 1.2e-06 ***## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 727 on 7 degrees of freedom#### Number of iterations to convergence: 8## Achieved convergence tolerance: 7.32e-06# get coefficientBcoef <- coef(Bass.nls)m <- Bcoef[1]p <- Bcoef[2]q <- Bcoef[3]#将M的起始值设置为记录的总销售额。 ...

July 17, 2020 · 2 min · jiezi

关于r语言:R语言使用马尔可夫链对营销中的渠道归因建模

原文链接:http://tecdat.cn/?p=5383介绍在这篇文章中,咱们看看什么是渠道归因,以及它如何与马尔可夫链的概念分割起来。咱们还将通过一个电子商务公司的案例钻研来了解这个概念在实践上和实际上如何运作(应用R)。 什么是渠道归因?Google Analytics为归因建模提供了一套规范规定。依据Google的说法,“归因模型是决定销售和转化功绩如何调配给转化门路中的接触点的规定或一组规定。例如,Google Analytics中的最初一次互动模型会为紧接销售或转化之前的最终接触点(即,点击次数)调配100%的功绩。相比之下,第一个互动模型为启动转化门路的接触点调配100%的功绩。“ 咱们将在本文前面看到最初一个交互模型和第一个交互模型。在此之前,让咱们举一个小例子,进一步理解渠道归因。假如咱们有一个转换图,如下所示: 在上述情况下,客户能够通过频道'C1'或频道'C2'开始他们的旅程。以C1或C2开始的概率为50%(或0.5)。咱们首先计算转换的总体概率,而后进一步查看每个通道的影响。 P(转换)= P(C1→C2→C3→转换)+ P(C2→C3→转换) = 0.5 * 0.5 * 1 * 0.6 + 0.5 * 1 * 0.6 = 0.15 + 0.3 = 0.45 马尔可夫链马尔可夫链是一个过程,它映射静止并给出概率分布,从一个状态转移到另一个状态。马尔可夫链由三个属性定义: 状态空间 - 解决可能存在的所有状态的汇合 转换操作符 - 从一个状态转移到另一个状态的概率 以后状态概率分布 - 在过程开始时处于任何一个状态的概率分布 咱们晓得咱们能够通过的阶段,从每条门路挪动的概率以及咱们晓得以后状态的可能性。这看起来与马尔可夫链类似,不是吗? 事实上,这是一个马尔可夫链的利用。咱们稍后会回来; 当初让咱们保持咱们的例子。如果咱们要弄清楚渠道1在咱们的客户从始至终转换的旅程中的奉献,咱们将应用去除成果的准则。去除成果准则说,如果咱们想要在客户旅程中找到每个频道的奉献,咱们能够通过删除每个频道并查看在没有该频道的状况下产生了多少次转化。 例如,咱们假如咱们必须计算通道C1的奉献。咱们将从模型中删除通道C1,并查看图片中没有C1的状况下产生了多少次转换,即所有通道完整无缺时的总转换次数。咱们计算通道C1: P(去除C1后的转换)= P(C2→C3→转换) = 0.5 * 1 * 0.6 = 0.3 30%的客户互动能够在没有C1频道的状况下进行转换; 而C1完整无缺,45%的互动能够转换。所以,C1的去除成果是 0.3 / 0.45 = 0.666。 C2和C3的去除成果为1(您能够尝试计算,但直觉地认为,如果咱们要删除或者C2或C3,咱们将可能实现任何转换?)。 这是马尔可夫链的一个十分有用的利用。在上述情况下,所有通道--C1,C2,C3(在不同阶段)被称为转换状态 ; 而从一个信道挪动到另一个信道的概率称为转移概率。 客户旅程是一系列渠道,能够看作是一个有向马尔可夫图中的一个链,其中每个顶点都是一个状态(渠道/接触点),每条边示意从一个状态挪动到另一个状态的转移概率。因为达到状态的概率仅取决于以前的状态,因而能够将其视为无记忆马尔可夫链。 电子商务公司案例钻研让咱们进行实在案例钻研,看看咱们如何施行渠道归因建模。 ...

July 17, 2020 · 1 min · jiezi

最新-TIOBE-指数出炉R-语言迎来了历史最高点

技术编辑:宗恩丨发自 思否编辑部 SegmentFault 思否报道丨公众号:SegmentFault R 语言在 2020 年 7 月的 TIOBE 指数中,从第九位回升到了第八位,这也是它的历史最好问题。 从数据上看仿佛 Python 才是最受欢迎的数据分析语言,然而 R 的风行水平在一直晋升,将来甚至有可能达到 Python 的地位。 R 语言之所有受欢迎,是因为以下两点起因: 1、商业统计语言和软件包(例如 SAS,Stata 和 SPSS)的时代曾经完结。大学和钻研机构采纳 Python 和 R 进行统计分析。 2)须要大量统计和数据挖掘能力找到针对 COVID-19 病毒的疫苗。所以易于学习和应用的统计编程语言当初开始风行。R 语言从这些语言中怀才不遇。 榜单前十名没有显著变动,C 语言间断第三个月蝉联第一,Java 和 Python 仍紧随其后。除了已提到过的 R 语言和 PHP 地位对调,Swift 和 SQL 也进行了调换,Swift 胜利进入前十。 上个月 Rust 语言首次进入榜单前二十,此次由 20 名回升至第 18 位。排在它后面的是稳固放弃着每月后退一位节奏的少儿编程语言 Scratch。 目前处在 top 20 危险边缘的是排名降落的 PL/SQL 和 Classic Visual Basic 语言。上月掉出前 20 的 Objective-C 还在下掉,本月排名 23。Delphi/Object Pascal 间接从 22 名变成第 30 名。 ...

July 10, 2020 · 1 min · jiezi

R语言基于ARCH模型股价波动率建模分析

原文链接:http://tecdat.cn/?p=3856 引言金融中一个重要度量是与资产相关的风险,而资产波动率是最常用的风险度量。然而,资产波动率的类型有多种。波动率是期权定价和资产分配中得一个关键颜色。波动率不能直接观测的性质在波动率研究和建模中有非常重要的含义 数据选取笔者选取1973年1月到2009年12月,英特尔公司(INTC)股票的每月收盘价数据,同时也收集同期的S&P指数数据,前六个数据样本如下所列: ## date intc sp## 1 19730131 0.010050 -0.017111## 2 19730228 -0.139303 -0.037490## 3 19730330 0.069364 -0.001433## 4 19730430 0.086486 -0.040800## 5 19730531 -0.104478 -0.018884## 6 19730629 0.133333 -0.006575 模型分析①模型的结构用rtrt表示某项资产在tt时刻的对数收益率。波动率研究的基本思想是,序列rtrt是前后不相关的或低阶前后相关的,但是序列不是独立的。作为说明,考虑Intel公司股票从1973年1月到2009年12月的月对数收益率,共有444个观察值,下图给出了该对数收益率的时序图。 收益率序列看起来是平稳且随机的。接下来,我们给出其样本自相关函数(ACF),同时也作出对数收益率的绝对值序列|rt||rt|的样本自相关函数。 对数收益率序列的ACF显示除了在滞后为7和14时有较小相关性之外,没有显著的序列前后相关性,并且序列rtrt的Ljung-Box统计量表明 18.6760744,相应的p值为 0.0966514.而对数收益率的绝对值序列|rt||rt|显示具有序列相关性,并且序列|rt||rt|的Ljung-Box统计量表明 124.9064353,相应的p值接近于 0。因此,Intel公司股票月对数收益率序列是前后不相关的,但不是独立的。我们用ARCH模型去刻画收益率序列的这种不独立性。 为了把波动率模型放在一个适当的框架中,考虑给定Ft−1Ft−1时rtrt的条件均值和条件方差,即: t=E(rt|Ft−1),2t=Var(rt|Ft−1)=E[(rt−t)2|Ft−1]t=E(rt|Ft−1),t2=Var(rt|Ft−1)=E[(rt−t)2|Ft−1] 其中,Ft−1Ft−1是在t−1t−1时刻已知的信息集。样本公司的股票收益率序列rtrt即使有前后相关性也很弱。我们假定rtrt服从简单的ARMA(p,q)模型,Ljung-Box统计量表明Intel股票的月对数收益率序列没有序列相关性。我们对对数收益率序列进行单样本检验,确认序列rtrt的均值显著不等于0. ## $statistic## t## 2.37881#### $p.value## [1] 0.01779151 更具体地说,检验H0:=0和Ha:≠0H0:=0和Ha:≠0的t比为2.3788,p值为0.01779.因此,对Intel公司股票的对数收益率,有rt=t+trt=t+t,其中t=t=为常数。 ②ARCH效应的检验对于Intel公司股票的月对数收益率序列,均值方程仅仅由一个常数构成。 记t=rt−tt=rt−t为均值方程的残差。平方序列2tt2可以用来检验条件异方差性,即ARCH效应,我们采用Mcleod和Li(1983)提出的将Ljung-Box统计量QQ(m)Q(m)应用于序列2tt2,该检验统计量的原假设是序列2tt2前m个间隔的ACF值都为0. 2t=0+12t−1+⋅⋅⋅+m2t−m+et,t=m+1,⋅⋅⋅,Tt2=0+1t−12+···+mt−m2+et,t=m+1,···,T 2tt2的Ljung-Box统计量Q(12)Q(12)=92.938884,其p值接近于0,因此表明有很强的ARCH效应。也可以用Engle的拉格朗日乘子法(m=12),archTest检验结果显示,F的值为4.978,相应的p值接近于0,进一步表明Intel公司股票对数收益率有很强的 ARCH效应。 ③ARCH模型的建立ARCH模型的基本思想是:1)资产收益率的扰动序列tt是前后不相关的,但不是独立的;2)tt的不独立性可以用其滞后值的简单二次函数来表述。ARCH(m)模型假定 t=tt,2t=0+12t−1+⋅⋅⋅+m2t−mt=tt,t2=0+1t−12+···+mt−m2 ,其中tt是均值为0、方差为1的独立同分布(iid)随机变量序列,且0>00>0,对i>0i>0有i≥0i≥0.系数ii必须满足一些正则性条件以保证tt的无条件方差是有限的。我们假定tt服从标准正态分布。 上图给出了均值调整对数收益率的平方序列的样本ACF和PACF.从PACF图中,我们可以看出在间隔为1、2、3和11上有显著的相关性。为了保持模型简单,我们对波动率建立一个ARCH(3)模型。相应的,为Intel公司股票的月对数收益率建立一个如下模型: rt=+t,t=tt,2t=0+12t−1+22t−2+32t−3rt=+t,t=tt,t2=0+1t−12+2t−22+3t−32 假定tt是独立同分布的标准正态序列。 我们得到的拟合模型为:rt=0.0126+t,2t=0.0104+0.23292t−1+0.07512t−2+0.05202t−3rt=0.0126+t,t2=0.0104+0.2329t−12+0.0751t−22+0.0520t−32并且,各个参数估计值的标准误差分别是0.0055、0.0012、0.115、0.0473和0.0451,统计报告见附录。 可见,22和33的估计值在5%的水平下不是统计显著的。我们去掉两个不显著参数,简化模型为ARCH(1) ,重新得出如下拟合模型rt=0.0131+t,2t=0.0110+0.37502t−1rt=0.0131+t,t2=0.0110+0.3750t−12其中,各个参数估计值的标准误差分别是0.0053、0.0021和0.1126,并且所以估计都是高度显著的,统计报告见附录。 ...

June 22, 2020 · 1 min · jiezi

R语言用随机森林和文本挖掘提高航空公司客户满意度

原文链接:http://tecdat.cn/?p=4248 动机航空业的庞大规模让人有理由关心它:它不仅直接影响数百万人(传单,飞行员,工程师等),而且数百万人因间接影响其经济实力而间接影响数百万人。 尽管北美航空业强劲,但为了保持持续增长以及作为跨地区行业领导者的持续地位,必须时刻保持警惕,以跟上客户需求。当然,在这方面的成功要求航空公司首先了解客户关心的是什么。发现航空公司客户喜欢和不喜欢他们的飞行体验是该项目的起点。 数据 为了更准确地了解飞机的哪些方面影响了客户的意见, 该网站收集客户编写的几乎每家运营航空公司的航班评论。典型的评论如下: 包含在这个中的变量是: 航空公司: 评论作者给出的整体航空公司评分(满分10分) 作者:评论作者的名字 日期:撰写评论的日期 customer_review:客户评论的文本 飞机:飞机类别/类型(可能性太多,无法列出;例如:波音737) traveller_type:旅行者类型(商务,情侣休闲,家庭休闲,独奏休闲) 客舱:评论作家飞行的机舱类型(商务舱,经济舱,头等舱,特级经济舱) 航线:航班起点和目的地(例如:芝加哥至波士顿) 问题1在座位舒适度,座舱服务,食品和饮料,娱乐和地面服务方面,飞行的哪个方面对客户的整体评价影响最大? 这是一个经典的机器学习问题,很容易提出,但难以回答,难点在于预测变量之间潜在的微妙相互作用。 原文链接:https://www.cnblogs.com/tecdat/p/11059915.html 动机航空业的庞大规模让人有理由关心它:它不仅直接影响数百万人(传单,飞行员,工程师等),而且数百万人因间接影响其经济实力而间接影响数百万人。 尽管北美航空业强劲,但为了保持持续增长以及作为跨地区行业领导者的持续地位,必须时刻保持警惕,以跟上客户需求。当然,在这方面的成功要求航空公司首先了解客户关心的是什么。发现航空公司客户喜欢和不喜欢他们的飞行体验是该项目的起点。 数据 为了更准确地了解飞机的哪些方面影响了客户的意见, 该网站收集客户编写的几乎每家运营航空公司的航班评论。典型的评论如下:   包含在这个中的变量是: 航空公司: 评论作者给出的整体航空公司评分(满分10分) 作者:评论作者的名字 日期:撰写评论的日期 customer_review:客户评论的文本 飞机:飞机类别/类型(可能性太多,无法列出;例如:波音737) traveller_type:旅行者类型(商务,情侣休闲,家庭休闲,独奏休闲) 客舱:评论作家飞行的机舱类型(商务舱,经济舱,头等舱,特级经济舱) 航线:航班起点和目的地(例如:芝加哥至波士顿) 问题1在座位舒适度,座舱服务,食品和饮料,娱乐和地面服务方面,飞行的哪个方面对客户的整体评价影响最大? 这是一个经典的机器学习问题,很容易提出,但难以回答,难点在于预测变量之间潜在的微妙相互作用。 我使用R包“randomForest”中的randomForest()函数,该函数使用非参数Breiman随机森林算法生成回归模型。作为一个侧重点,它可以估计每个预测变量相对于其他预测变量对预测响应变量的重要性。这个输出是我用来确定我的五个变量中哪一个对整个飞行评级最重要的。以下是对我的数据运行时randomForest()函数的变量重要性输出的视觉效果:   根据Breiman算法,地面服务是预测客户飞行总体评分的最重要变量,其次是座椅舒适度,客舱服务,食品和饮料以及娱乐(按此顺序)。 分析了包含每个变量的评论比例。输入缺失值不可避免地会导致结果偏差,但是消除这些值会为我们带来潜在的宝贵信息。在这种情况下,我相信各方面的失踪倾向于属于“不随意丢失”的范畴,这意味着失踪的原因实际上与所讨论的变量的价值有关; 特别是,我认为,大量缺失的领域对于客户而言可能不那么重要,而缺少缺失的领域则更为重要。为了分析这一点,我绘制了包含每个变量的评论比例: 由此我们看到,机舱服务和座椅舒适度几乎包含在每个评论中,而地面服务仅包含在约55%的评论中。 问题2美国航空公司如何在客户飞行体验的不同方面表现出色? 鉴于我们在问题1中的结果,航空公司现在可能希望将其自身与其他航空公司以及整个行业进行比较,涵盖机舱服务,娱乐,食品和饮料,地面服务和座椅舒适度等变量。为了分析这一点,我对每个航空公司以及整个行业的每个变量给予1,2,3,4,5和NA评级的评论数量进行了统计。对于座椅舒适性评级,我们有以下结果:     探索了机舱服务,娱乐,食品和饮料,地面服务和座椅舒适性五个变量中的每一个,并且通过所有这些导致以下观察: 捷蓝航空对所有航空公司的座椅舒适度评分最高,因此应推崇自己作为座椅舒适性的行业领导者。同样,阿拉斯加航空公司应该推销自己作为机舱服务的行业领导者。根据问题1的结果,如果客户知道他们在座椅舒适性和客舱服务方面处于领先地位,那么JetBlue和阿拉斯加都可能获得销售增长,因为这些变量是迄今为止研究的五个变量(影响客户对a的总体印象)飞行最多。 Spirit Airlines一直主要收到1份评级,这表明在所有考虑的领域中,客户往往对他们的体验感到不满。然而,Spirit Airlines继续增长。这表明需要更多地探索航空公司客户的需求。 透视:总体而言,美国航空业在机舱服务方面做得最好,在地面服务和座椅舒适度方面表现最差(在这些领域里,比任何其他评级都少了5秒)。另外,娱乐评级也很低。 问题3正面评论中最常出现的词是什么?负面评论? 之前的问题旨在更好地了解航空公司客户对飞行体验(机舱服务,娱乐,食品和饮料,地面服务,座椅舒适度)五个具体方面的看法,但是由于这五个领域没有考虑到所有可能影响客户整体经验,我想分析他们的评论的实际文字。为此,我使用了由R中的“tm”,“wordcloud”和“memoise”软件包组合生成的词云。我分别分析了单个航空公司和整个行业的正面和负面评论。正面评价总体评分为6/10或更高,负面评价为总评分5/10或更差的评价。 以下是整个行业的正面和负面词云:   在正面和负面评论中,“时间”这个词都是最常用的三个词之一。 尽管如此,“座位”和“服务”这两个字仍然出现在前五个词中,因此对前面问题的分析得到了证实。 精神虽然在问题1和问题2中考虑的五个领域中的几乎每一个领域中都是航空公司中最差的,但它有一个负面词云,与其他负面词云不同。也就是说,Spirit的客户仍然在关于延迟和时间的文本评论中抱怨最多, 透视: 航空公司的客户写的时间比其他任何事都多,其次是服务和座位。鉴于Spirit Airlines的令人惊讶的发现,节省/浪费时间可能是客户整体飞行评级的预测指标。 结论和未来的方向尽管影响飞行员乘坐飞机体验的因素有很多,但航空公司可以通过关注航班的几个主要方面 - 特别是时间,座位舒适性和机舱服务,来提高客户满意度。

June 22, 2020 · 1 min · jiezi

R语言中实现层次聚类模型

原文链接:http://tecdat.cn/?p=5305大家好!在这篇文章中,我将向你展示如何在R中进行层次聚类。  什么是分层聚类?分层聚类是一种可供选择的方法,它可以自下而上地构建层次结构,并且不需要我们事先指定聚类的数量。 该算法的工作原理如下: 将每个数据点放入其自己的群集中。 确定最近的两个群集并将它们组合成一个群集。 重复上述步骤,直到所有数据点位于一个群集中。 一旦完成,它通常由树状结构表示。 让我们看看分层聚类算法可以做得多好。我们可以使用hclust这个。hclust要求我们以距离矩阵的形式提供数据。我们可以通过使用dist。默认情况下,使用完整的链接方法。 这会生成以下树形图: 从图中我们可以看出,群集总数的最佳选择是3或4: 要做到这一点,我们可以使用所需数量的群集来切断树cutree。 现在,让我们将它与原始物种进行比较。 它看起来像算法成功地将物种setosa的所有花分为簇1,并将virginica分为簇2 。  让我们看看我们是否可以通过使用不同的连接方法更好。这一次,我们将使用平均连接方法: 这给了我们以下树状图: 我们可以看到,群集数量的两个最佳选择是3或5.让我们用cutree它来将它降到3个群集。 我们可以看到,这一次,该算法在聚类数据方面做得更好,只有6个数据点出错。 我们可以如下绘制它与原始数据进行比较: 这给了我们下面的图表: 内部颜色与外部颜色不匹配的所有点都是不正确聚类的点。 有问题联系我们!

June 22, 2020 · 1 min · jiezi

R语言鸢尾花iris数据集的层次聚类分析

原文链接:http://tecdat.cn/?p=3200介绍本文在数据集上展示了如何使用dendextend R软件包来增强Hierarchical Cluster Analysis(更好的可视化和灵敏度分析)。 背景鸢尾花数据集我们可以看到,Setosa物种与Versicolor和Virginica明显不同(它们具有较低的花瓣长度和宽度)。但是,基于对萼片和花瓣宽度/长度的测量,不易将Versicolor和Virginica分开。 通过查看数据的平行坐标图可以得出同样的结论: 我们可以通过将对象转化为树状图并对对象进行一些调整来可视化运行它的结果 相同的可以在圆形布局中呈现: 这些可视化很容易证明分层聚类的分离对于“Setosa”物种来说是非常好的,但是在将许多“Versicolor”物种标记为“Virginica”时未能实现。 我们也可以使用热图探索数据。 在热图中,我们还可以看到Setosa物种的花瓣值如何(浅黄色),但很难看出其他两种物种之间的明显区别。 各种聚类算法之间的相似/不同为了进行这种分析,我们将创建所有8个hclust对象,并将它们链接在一起成为一个dendlist对象(顾名思义,它可以将一组树状图组合在一起用于进一步分析)。 接下来,我们可以看看每个聚类结果之间的同源相关性cor.dendlist。(这可以使用corrplot包中的corrplot函数很好地绘制): 从上图中我们可以很容易地看到,除了完整的方法(默认方法in hclust),大多数聚类方法的结果非常相似,其结果相关度大约为0.6。 默认的同源相关使用皮尔逊的度量,但如果我们使用spearman的相关系数呢? 我们可以看到,相关性不是很强,表明一个行为依赖于彼此距离很远的一些项目,这些项目对皮尔森相关性的影响相关性更大。 相关推荐: R语言使用最优聚类簇数k-medoids_聚类_进行客户细分 R语言对用电负荷时间序列数据进行K-medoids_聚类_建模和.  R语言k-Shape时间序列_聚类_方法对股票价格时间序列_聚类_ 用关联规则和_聚类_探索药物配伍规律 Python数据可视化-seaborn Iris_鸢尾花_数据  learn和pandas决策树进行iris_鸢尾花_数据分类建模和...

June 22, 2020 · 1 min · jiezi

R语言对用电负荷时间序列数据进行Kmedoids聚类建模和GAM回归

原文链接:http://tecdat.cn/?p=4146 通过对用电负荷的消费者进行聚类,我们可以提取典型的负荷曲线,提高后续用电量预测的准确性,检测异常或监控整个智能电网(Laurinec等人(2016),Laurinec和Lucká( 2016))。第一个用例通过K-medoids聚类方法提取典型的电力负荷曲线。 有50个长度为672的时间序列(消费者),长度为2周的耗电量的时间序列。这些测量来自智能电表。 维数太高,并且会发生维数的诅咒。因此,我们必须以某种方式降低维度。最好的方法之一是使用时间序列表示,以减少维数,减少噪声并提取时间序列的主要特征。 对于用电的两个季节性时间序列(每日和每周季节性),基于模型的表示方法似乎具有提取典型用电量的最佳能力。 让我们使用一种基于模型的基本表示方法- 平均季节性。在此还有一个非常重要的注意事项,对时间序列进行归一化是对时间序列进行每次聚类或分类之前的必要步骤。我们想要提取典型的消耗曲线,而不是根据消耗量进行聚类。 维数上已大大降低。现在,让我们使用K-medoids聚类方法来提取典型的消耗量概况。由于我们不知道要选择合适的簇数,即先验信息,因此必须使用验证指数来确定最佳簇数。我将使用众所周知的Davies-Bouldin指数进行评估。通过Davies-Bouldin指数计算,我们希望找到其最小值。 我将群集数的范围设置为2-7。 让我们绘制评估的结果。 群集的“最佳”数目是7。 让我们绘制有7个聚类的聚类结果。 我们可以看到5个典型的提取轮廓 (簇的中心)。接下来的两个簇可以称为离群值。 现在,让我们尝试一些更复杂的方法来提取季节 GAM回归系数。 我们可以提取每日和每周的季节性回归系数 。 ## [1] 50 53 由于GAM方法中使用样条曲线 。让我们对数据进行聚类并可视化其结果。 让我们绘制 评估的结果。 聚类的最佳数目为7。让我们绘制结果。 提取的消费数据比平均季节性数据更平滑。 现在,K 中心提取了4个典型的轮廓,并确定了3个簇。 我展示一些自适应表示的聚类结果,让我们以DFT(离散傅立叶变换)方法为例,并提取前48个DFT系数。 dim(data_dft)## [1] 50 48 让我们绘制评估的结果。 我们可以在4个簇中看到漂亮的“肘部”。 这些结果难以解释。因此,基于模型的时间序列表示在此用例中非常有效 。 建议在每天的时间序列中使用与FeaClip一起的窗口方法。最大的优点是不需要与FeaClip方法一起进行标准化。 dim(data_feaclip)## [1] 50 112 让我们绘制评估的结果。 我们可以看到现在出现了2个“肘部”。最大的变化是在2到3之间,因此我将选择3。 可分离性似乎好于DFT。但是也可以检查具有不同数量集群的其他结果。 结论在本教程中,我展示了如何使用时间序列表示方法来创建消费者的更多特征文件。然后,用时间序列进行K-medoids聚类,并从创建的聚类中提取典型的消耗曲线。

June 22, 2020 · 1 min · jiezi

R语言时间序列分析GARCH11MA以及历史模拟法的VaR比较

原文链接:http://tecdat.cn/?p=3817 风险价值(VaR)及其所有相关问题仍然是风险管理中的主要模式。风险价值的一个关键问题是它没有适当地考虑波动率,这意味着危机期间风险被低估。 解决这个问题的一个强有力的方法是将VaR与GARCH模型结合起来考虑条件波动性。为了说明这种方法,我们将一个正态分布的GARCH(1,1)应用于瑞士股票市场指数SMI。 ##Initialisation#Load Packageslibrary(fImport)library(fPortfolio)library(ggplot2)#Inputsfrom = "1995-11-20"to = "2015-12-17"symbol = "^SSMI"#Get Data from YahooTS <- yahooSeries(symbol, from = from, to = to)SMI <- TS[,ncol(TS)]SMI <- returns(SMI, method = "continuous")#Plot SMI ReturnsseriesPlot(TS[,4]) 从Yahoo获取数据 histPlot(SMI, main = "SMI Returns") 模型估计SMI返回的数据有5078个观测值。我使用前3078个观察值对GARCH模型进行初始估计。其余的2000个观测值用于验证和测试。 library(rugarch)library(zoo)SMIdf <- as.data.frame(SMI)#GARCH#GARCH Spec - (Change Distribution here)gspec11 <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)), mean.model=list(armaOrder=c(0,0), include.mean = FALSE), distribution="norm") 结果#VaR Plotplot(Returns, type = "l", pch = 16, cex = 0.8, col = gray(0.2, 0.5), ylab = "Returns", main = "95% VaR Forecasting", xaxt = "n") ...

June 22, 2020 · 1 min · jiezi

R语言基于ARMAGARCH过程的VaR拟合和预测

原文链接 http://tecdat.cn/?p=2657 本文展示了如何基于基础ARMA-GARCH过程(当然这也涉及广义上的QRM)来拟合和预测风险价值(Value-at-Risk,VaR)。 library(qrmtools)# for qq_plot()library(rugarch) 模拟数据我们考虑具有t的ARMA(1,1)-GARCH(1,1)过程 将ARMA-GARCH模型拟合到(模拟的)数据拟合一个ARMA-GARCH过程。 计算VaR时间序列计算风险价值估计值。请注意,我们也可以在这里使用基于GPD的估计器。 通过随机性检查进行后测 我们来回溯一下VaR估计值。 ## Backtest VaR_0.99btest <- VaRTest(alpha,actual =X,VaR =VaR,conf.level =0.95)btest$expected.exceed# 0.99 * n## [1] 990btest$actual.exceed## [1] 988btest$uc.Decision# unconditional test decision (note: cc.Decision is NA here)## [1] "Fail to Reject H0" 基于拟合模型预测VaR现在预测风险价值。 模拟(X)的未来轨迹并计算相应的VaR 模拟路径,估算每个模拟路径的VaR(注意,quantile()这里不能使用,所以我们必须手动构建VaR)。 相关文章  R语言中的风险价值模型度量指标TVaR与_VaR_   R语言_VAR_模型的不同类型的脉冲响应分析 R语言用向量自回归(_VAR_)进行经济数据脉冲响应研究... R语言基于ARMA-GARCH-_VaR_模型拟合和预测实证研究分析...  matlab使用Copula仿真优化市场风险数据_VaR_分析  GARCH(1,1),MA以及历史模拟法的_VaR_比较   R语言基于ARMA-GARCH过程的_VaR_拟合和预测

June 22, 2020 · 1 min · jiezi

R语言离群值处理分析

参考 :http://tecdat.cn/?p=3415=== 数据中的异常值可能会使预测失真并影响准确性,尤其是在回归模型中,如果您没有正确检测并处理它们,那么它们会影响精度 为什么异常值检测很重要?在真实观察中处理或改变异常值/极端值不是标准操作程序。但是,了解它们对预测模型的影响至关重要。留待调查人员判断是否需要治疗异常值以及如何去做。 那么,为什么识别极端值很重要?因为,它可以大大偏倚/改变合适的估计和预测。让我使用cars数据集来说明这一点。 为了更好地理解异常值的含义,我将比较具有和不具有异常值的汽车数据集的简单线性回归模型的拟合。为了清楚地区分效果,我手动将极端值引入原始数据集。然后,我预测这两个数据集。 检测异常值单变量方法对于给定的连续变量,异常值是那些位于1.5 * I Q R之外的观测值,其中IQR,“四分位数间距”是第75和第25个四分位之间的差值。在盒子下面看看胡须外的点。 双变量方法可视化X和Y的框图,用于分类X 什么是推论?盒子水平的变化表明,Month似乎有影响,ozone_reading而Day_of_week没有。相应分类层级中的任何异常值都显示为盒外晶须外的点。 你可以在箱形图中看到几个异常值,以及这个值是如何ozone_reading增加的pressure_height。这很清楚。 多变量模型方法基于仅仅一个(相当不重要)的特征声明观察结果为异常值可能会导致不切实际的推论。当你必须决定一个单独的实体(由行或观察值表示)是否是极值时,最好集体考虑重要的特征(X)。输入Cook的距离。 库克距离库克距离是一个关于给定回归模型计算的度量,因此仅受模型中包含的X个变量的影响。但是,厨师的距离是什么意思?它计算每个数据点(行)对预测结果的影响。 现在让我们从原始数据中找出有影响的行。如果你提取并检查每一个有影响的行(从下面的输出),你将能够推断出为什么该行变得有影响力。模型中包含的X个变量之一可能具有极端值。 异常值测试 该功能outlierTest从car包中给出了基于给定的模型最极端的观察。以下是基于mod我们刚创建的线性模型对象的示例。

June 22, 2020 · 1 min · jiezi

R语言时间序列TAR阈值自回归模型

原文链接: http://tecdat.cn/?p=5231为了方便起见,这些模型通常简称为TAR模型。这些模型捕捉线性时间序列模型无法捕获的行为,如极限循环,幅度相关频率和跳跃现象。 数据示例TAR模型通过抑制噪声项和截距并将阈值设置为0来获得: 模型估计一种方法和这里讨论的方法是条件最小二乘(CLS)方法。 情况1.如果r和d都是已知的。 情况2.如果r未知。 最小AIC(MAIC)方法由于实际上两种制度的AR指令是未知的,因此需要一种方法来估计这些指标。对于TAR模型,AIC成为 然后通过最小化AIC受试者在一定时间间隔内搜索阈值参数来估计参数,使得任何方案具有足够的估计数据。 非线性测试使用滞后回归图进行检查。 拟合的回归曲线不够直,表明可能存在非线性关系。 模型诊断模型诊断使用残差分析完成。 预测预测分布通常是非正常的和棘手的。通常,采用模拟方法进行预测。

June 22, 2020 · 1 min · jiezi

R语言对MNIST数据集分析探索手写数字分类

原文链接:http://tecdat.cn/?p=5246数据科学和机器学习之间区别的定义:数据科学专注于提取洞察力,而机器学习对预测有兴趣。我还注意到这两个领域大相径庭: 我在我的工作中同时使用了机器学习和数据科学:我可能会使用堆栈溢出流量数据的模型来确定哪些用户可能正在寻找工作(机器学习),但是会构建摘要和可视化来检查为什么(数据科学)。 我想进一步探讨数据科学和机器学习如何相互补充,展示我将如何使用数据科学来解决图像分类问题。我们将使用经典的机器学习挑战:MNIST数字数据库。 面临的挑战是根据28×28的黑白图像对手写数字进行分类。MNIST经常被认为是证明神经网络有效性的首批数据集之一。 预处理默认的MNIST数据集的格式有些不方便,但Joseph Redmon已经帮助创建了CSV格式的版本。我们可以下载它的readr包。 library(readr)library(dplyr)mnist_raw <- read_csv("https://pjreddie.com/media/files/mnist_train.csv", col_names = FALSE) 该数据集对于60000个训练实例中的每一个包含一行,并且对于28×28图像中的784个像素中的每一个包含一列。 我们想先探索一个子集。在第一次探索数据时,您不需要完整的训练示例,因为使用子集可以快速迭代并创建概念证明,同时节省计算时间。 考虑到这一点,我们将收集数据,进行一些算术运算以跟踪图像中的x和y,并且只保留前10,000个训练实例。 library(tidyr)pixels_gathered <- mnist_raw %>%head(10000) %>%rename(label = X1) %>%mutate(instance = row_number()) %>%gather(pixel, value, -label, -instance) %>%tidyr::extract(pixel, "pixel", "(\\d+)", convert = TRUE) %>%mutate(pixel = pixel - 2,x = pixel %% 28,y = 28 - pixel %/% 28)pixels_gathered## # A tibble: 7,840,000 x 6## label instance value pixel x y#### 1 5 1 0 0 0 28.0## 2 0 2 0 0 0 28.0## 3 4 3 0 0 0 28.0## 4 1 4 0 0 0 28.0## 5 9 5 0 0 0 28.0## 6 2 6 0 0 0 28.0## 7 1 7 0 0 0 28.0## 8 3 8 0 0 0 28.0## 9 1 9 0 0 0 28.0## 10 4 10 0 0 0 28.0## # ... with 7,839,990 more rows ...

June 21, 2020 · 1 min · jiezi

R语言EM算法和高斯混合模型的实现

原文 :http://tecdat.cn/?p=3433本文我们讨论期望最大化理论,应用和评估基于期望最大化的聚类。 软件包install.packages("mclust");require(mclust)## Loading required package: mclust## Package 'mclust' version 5.1## Type 'citation("mclust")' for citing this R package in publications. 数据我们将使用mclust软件包附带的“糖尿病”数据。 data(diabetes)summary(diabetes)## class glucose insulin sspg## Chemical:36 Min. : 70 Min. : 45.0 Min. : 10.0## Normal :76 1st Qu.: 90 1st Qu.: 352.0 1st Qu.:118.0## Overt :33 Median : 97 Median : 403.0 Median :156.0## Mean :122 Mean : 540.8 Mean :186.1## 3rd Qu.:112 3rd Qu.: 558.0 3rd Qu.:221.0## Max. :353 Max. :1568.0 Max. :748.0 ...

June 21, 2020 · 1 min · jiezi

R语言泊松Poisson回归模型分析案例

原文链接 http://tecdat.cn/?p=2605 这个问题涉及马蹄蟹研究的数据。研究中的每只雌性马蹄蟹都有一只雄性螃蟹贴在她的巢穴中。这项研究调查了影响雌蟹是否有其他男性居住在她附近的因素。被认为影响这一点的解释变量包括雌蟹的颜色(C),脊椎状况(S),体重(Wt)和甲壳宽度(W)。 数据文件:crab.txt。 我们将首先拟合仅具有一个自变量:宽度(W)的泊松回归模型 估计的模型是:$ log(\\ hat {\\ mu\_i})$ = -3.30476 + 0.16405W ilog(i^) = - 3.30476 + 0.16405W 估计的= 0.164的ASE为0.01997,这是小的,并且该斜率在z值为8.216及其低p值的情况下在统计学上是显着的。 如果我们看一下W对Sa的散点图(见下文),我们可能会怀疑一些异常值 您可以考虑其他类型的残差,影响度量(如我们在线性回归中看到的)以及残差图。 以下是运行R代码其他部分的输出的一部分: 从上面的输出中,我们可以看到预测计数(“拟合”)和线性预测变量的值,即预期计数的对数值。 我们也可以看到,尽管预测是有意义的,但模型并不适合。考虑到剩余偏差统计值为567.88和171 df,p值为零,值/ DF = 567.88 / 171 = 3.321远大于1,因此该模型不适合。缺乏适合可能是由于缺少数据,协变量或过度分散。 更改模型在上述模型中,我们检测到一个潜在的过分散问题,因为比例因子,例如残差偏差的值/ DF远大于1。 回想一下,过度分散的原因之一是异质性,其中每个协变量组合中的主体仍然差异很大。如果是这样的话,是否违背了Poisson回归模型的泊松模型的假设? 上述R程序的输出: 在这个模型中,随机分量在响应具有相同均值和方差的情况下不再具有泊松分布。根据给定的估计值(例如Pearson X 2 = 3.1822),随机分量的变化(响应)大约是平均值的三倍。 除了过度分散之外,如何忽略其他解释变量?我们可以通过添加其他变量来提高拟合度吗? 我们来比较一下这个输出和只有“W”作为预测的模型。我们将“虚拟变量”引入到模型中,以表示具有4级的颜色变量,其中4级作为参考级别。 此外,如果您运行anova(model.disp),从下面的输出中我们可以看到,在考虑宽度后,颜色几乎没有统计上显着的预测因子。 > anova(model.disp)Df Deviance Resid。Df Resid。DevNULL 172 632.79W 1 64.913 171 567.88C1 1 3.130 170 564.75C2 1 5.400 169 559.35C3 1 0.004 168 559.34 ...

June 21, 2020 · 1 min · jiezi

基于R语言的lmer混合线性回归模型

原文 http://tecdat.cn/?p=2596 混合模型适合需求吗? 混合模型在很多方面与线性模型相似。它估计一个或多个解释变量对响应变量的影响。混合模型的输出将给出一个解释值列表,其效应值的估计值和置信区间,每个效应的p值以及模型拟合程度的至少一个度量。如果您有一个变量将您的数据样本描述为您可能收集的数据的子集,则应该使用混合模型而不是简单的线性模型。 什么概率分布最适合数据? 假设你已经决定要运行混合模型。接下来你要做的是找到最适合你的数据的概率分布。 #lnorm表示对数正态qqp (recog $ Aggression.t,“lnorm” )#qqp要求估计负二项式,泊松#和伽玛分布的参数。 可以使用fitdistr #函数生成估计值。 查看我使用qqp生成的图。y轴表示观察值,x轴表示由分布模拟的分位数。红色的实线表示完美的分布拟合,虚线的红色线条表示完美的分布拟合的置信区间。 如何将混合模型拟合到数据 数据是正常分布的 如果你的数据是正态分布的, 你可以使用线性混合模型(LMM)。您将需要加载lme4软件包并调用lmer函数。 如果你的数据不正常分布 用于估计模型中效应大小的REML和最大似然方法会对数据不适用正态性假设,因此您必须使用不同的方法进行参数估计。 结束 :了解你的数据 在熟悉数据之前,您无法真正了解哪些分析适合您的数据,熟悉这些数据的最佳方法是绘制它们。通常我的第一步是做我感兴趣的变量的密度图,按照我最感兴趣的解释变量来分解。 绘图对评估模型拟合也很重要。通过以各种方式绘制拟合值,您可以确定哪种模型适合描述数据 。 该图所做的是创建一条代表零的水平虚线:与最佳拟合线平均偏离零。 结果正如我所希望的那样:与最佳拟合线的偏差趋于零。如果这条实线没有覆盖虚线,那意味着最适合的线条不太适合。 MCMC模型图形比较 这些随机效果看起来非常尖锐,不像白色噪音。所以让我们尝试用更多的迭代来重新设计模型。这是计算量更大,但产生更准确的结果。 现在更接近线条周围的白色噪音,这意味着更好的模型。

June 21, 2020 · 1 min · jiezi

拟合R语言中的多项式回归

原文链接:http://tecdat.cn/?p=2686让我们看一个经济学的例子:假设你想购买一定数量q的特定产品。如果单价是p,那么你会支付总金额y。这是一个线性关系的典型例子。总价格和数量成正比。 如下所示: 但购买和出售,我们可能要考虑一些其他相关信息,就像当:购买显著数量很可能是我们可以要求并获得折扣,或购买更多更重要的是我们可能会推高价格。 这可能导致像这样的情况,其中总成本不再是数量的线性函数: 通过多项式回归,我们可以将n阶模型拟合到数据上,并尝试对非线性关系进行建模。 如何拟合多项式回归这是我们模拟观测数据的图。模拟的数据点是蓝色的点,而红色的线是信号(信号是一个技术术语,通常用于表示我们感兴趣检测的总体趋势)。 让我们用R来拟合。当拟合多项式时,您可以使用  lm(noisy.y〜poly(q,3)) 通过使用该confint()函数,我们可以获得我们模型参数的置信区间。 模型参数的置信区间: confint(model,level = 0.95) 拟合vs残差图 总的来说,这个模型似乎很适合,因为R的平方为0.8。正如我们所预期的那样,一阶和三阶项的系数在统计上显着。 预测值和置信区间 将线添加到现有图中: 我们可以看到,我们的模型在拟合数据方面做得不错。 相关文章: R语言曲线回归:_多项式回归_、多项式样条回归、非线性..  R语言ISLR工资数据进行_多项式回归_和样条回归分析   R语言里的非线性模型:_多项式回归_、局部样条、平滑样...  [](https://blog.csdn.net/qq_1960...  r语言中对LASSO,Ridge岭_回归_和Elastic Net模型实现

June 21, 2020 · 1 min · jiezi

R语言推特twitter转发可视化分析

原文链接:http://tecdat.cn/?p=5124 包含术语“生物信息学”的推文示例 第1步: 加载所需的软件包 # load packageslibrary(twitteR)library(igraph)library(stringr) 第2步: 收集关于“生物信息学”的推文 # tweets in english containing "bioinformatics"dm_tweets = searchTwitter("bioinformatics", n=500,)# get textdm_txt = sapply(dm_tweets, function(x) x$getText()) 第3步:识别转发 # regular expressions to find retweetsgrep("(RT|via)((?:\\b\\W*@\\w+)+)", dm_tweets,ignore.case=TRUE, value=TRUE)# which tweets are retweetsrt_patterns = grep("(RT|via)((?:\\b\\W*@\\w+)+)",dm_txt, ignore.case=TRUE)# show retweets (these are the ones we want to focus on)dm_txt[rt_patterns] 第4步:收集谁转发和谁发布 我们将使用这些结果来形成边缘列表以创建图形 # create list to store user nameswho_retweet = as.list(1:length(rt_patterns))who_post = as.list(1:length(rt_patterns))# for loopfor (i in 1:length(rt_patterns)){# get tweet with retweet entitytwit = dm_tweets[[rt_patterns[i]]]# get retweet sourceposter = str_extract_all(twit$getText(),"(RT|via)((?:\\b\\W*@\\w+)+)")#remove ':'poster = gsub(":", "", unlist(poster))# name of retweeted userwho_post[[i]] = gsub("(RT @|via @)", "", poster, ignore.case=TRUE)# name of retweeting userwho_retweet[[i]] = rep(twit$getScreenName(), length(poster))}# unlistwho_post = unlist(who_post)who_retweet = unlist(who_retweet) ...

June 21, 2020 · 1 min · jiezi

R语言用rlesvm和rpart决策树进行时间序列预测

原文链接:http://tecdat.cn/?p=3072下面显示了四种预测时间序列的方法。 支持向量机(R package e1071。“Chih-Chung Chang and Chih-Jen Lin,LIBSVM:a library for support vector machines,2005.”的实现)。 递归分区(R package rpart。“Breiman,Friedman,Olshen and Stone。Classification and Regression Trees,1984”的实现)。 将最后两种方法的性能与rle进行比较,得到svm的95%和rpart的94%。 R : # Apply rle (forward and backward) and a condition: lenght time for sleep changes of 1h m$rle(Xvar ='sleep',Xlmin =60)m$setZoo()# Show differences between conditional and conditional + rleplot(m$zo[,c(5,7,8)],type ='l') # Subset a week # Plot correlation matrixw$correlation(Xvars =w$nm[c(2:7,9)]) # SVM and Recursive partitioningplot(tune.gamma.cost) ...

June 21, 2020 · 1 min · jiezi

R语言中对文本数据进行主题模型topic-modeling分析

原文链接:http://tecdat.cn/?p=4333 主题建模在文本挖掘中,我们经常收集一些文档集合,例如博客文章或新闻文章,我们希望将其分成自然组,以便我们可以分别理解它们。主题建模是对这些文档进行无监督分类的一种方法,类似于对数字数据进行聚类,即使我们不确定要查找什么,也可以找到自然的项目组。 潜在狄利克雷分配(LDA)是拟合主题模型特别流行的方法。它将每个文档视为主题的混合体,并将每个主题看作是单词的混合体。这允许文档在内容方面相互“重叠”,而不是分离成离散的组,以反映自然语言的典型用法。 结合主题建模的文本分析流程图。topicmodels包采用Document-Term Matrix作为输入,并生成一个可以通过tidytext进行处理的模型,以便可以使用dplyr和ggplot2对其进行处理和可视化。  潜在狄利克雷分配 潜在Dirichlet分配是主题建模中最常用的算法之一。没有深入模型背后的数学,我们可以理解它是由两个原则指导的。 每个文档都是主题的混合体。我们设想每个文档可能包含来自几个主题的文字,特别是比例。例如,在双主题模型中,我们可以说“文档1是90%的主题A和10%的主题B,而文档2是30%的主题A和70%的主题B.” 每个主题都是词汇的混合。例如,我们可以想象一个美国新闻的两个主题模型,一个话题是“政治”,一个是“娱乐”。政治话题中最常见的词语可能是“总统”,“国会”和“政府“,而娱乐主题可以由诸如”电影“,”电视“和”演员“之类的词组成。重要的是,话题可以在话题之间共享; 像“预算”这样的词可能同时出现在两者中。 LDA是一种同时估计这两种情况的数学方法:查找与每个主题相关的单词混合,同时确定描述每个文档的主题混合。这个算法有很多现有的实现,我们将深入探讨其中的一个。 library(topicmodels)data("AssociatedPress")AssociatedPress  : term frequency (tf) 我们可以使用LDA()topicmodels包中的函数设置k = 2来创建两个主题的LDA模型。 实际上几乎所有的主题模型都会使用更大的模型k,但我们很快就会看到,这种分析方法可以扩展到更多的主题。 此函数返回一个包含模型拟合完整细节的对象,例如单词如何与主题关联以及主题如何与文档关联。 # set a seed so that the output of the model is predictableap_lda <- LDA(AssociatedPress,k =2,control =list(seed =1234))ap_lda 拟合模型是“简单部分”:分析的其余部分将涉及使用整理tidytext软件包中的函数来探索和解释模型。 单词主题概率tidytext包提供了这种方法来提取每个主题的每个词的概率,称为 (“测试版”)。 ## # A tibble: 20,946 x 3##    topic term          beta##            ##  1    1 aaron      1.69e-12##  2    2 aaron      3.90e- 5##  3    1 abandon    2.65e- 5##  4    2 abandon    3.99e- 5##  5    1 abandoned  1.39e- 4##  6    2 abandoned  5.88e- 5##  7    1 abandoning 2.45e-33##  8    2 abandoning 2.34e- 5##  9    1 abbott    2.13e- 6## 10    2 abbott    2.97e- 5## # ... with 20,936 more rows ...

June 21, 2020 · 3 min · jiezi

R语言如何和何时使用glmnet岭回归

原文链接:http://tecdat.cn/?p=3373=== 这里向您展示如何在R中使用glmnet包进行岭回归(使用L2正则化的线性回归),并使用模拟来演示其相对于普通最小二乘回归的优势。 岭回归当回归模型的参数被学习时,岭回归使用L2正则化来加权/惩罚残差。在线性回归的背景下,它可以与普通最小二乘法(OLS)进行比较。OLS定义了计算参数估计值(截距和斜率)的函数。它涉及最小化平方残差的总和。L2正则化是OLS函数的一个小增加,以特定的方式对残差进行加权以使参数更加稳定。结果通常是一种适合训练数据的模型,不如OLS更好,但由于它对数据中的极端变异(例如异常值)较不敏感,所以一般性更好。 包我们将在这篇文章中使用以下软件包: library(tidyverse)library(broom)library(glmnet) 与glmnet的岭回归glmnet软件包提供了通过岭回归的功能glmnet()。重要的事情要知道: 它不需要接受公式和数据框架,而需要一个矢量输入和预测器矩阵。 您必须指定alpha = 0岭回归。 岭回归涉及调整超参数lambda。glmnet()会为你生成默认值。另外,通常的做法是用lambda参数来定义你自己(我们将这样做)。 以下是使用mtcars数据集的示例: 因为,与OLS回归不同lm(),岭回归涉及调整超参数,lambda,glmnet()为不同的lambda值多次运行模型。我们可以自动找到最适合的lambda值,cv.glmnet()如下所示: cv_fit <- cv.glmnet(x, y, alpha =0, lambda = lambdas) cv.glmnet() 使用交叉验证来计算每个模型的概括性,我们可以将其视为: plot(cv_fit) 曲线中的最低点指示最佳的lambda:最好使交叉验证中的误差最小化的lambda的对数值。我们可以将这个值提取为: opt_lambda <- cv_fit$lambda.minopt_lambda#> [1] 3.162278 我们可以通过以下方式提取所有拟合的模型(如返回的对象glmnet()): 这是我们需要预测新数据的两件事情。例如,预测值并计算我们训练的数据的R 2值: y_predicted <- predict(fit, s = opt_lambda, newx = x)# Sum of Squares Total and Errorsst <- sum((y - mean(y))^2)sse <- sum((y_predicted - y)^2)# R squaredrsq <-1- sse / sstrsq#> [1] 0.9318896 ...

June 21, 2020 · 1 min · jiezi

r语言中对LASSORidge岭回归和Elastic-Net模型实现

原文链接:http://tecdat.cn/?p=3795介绍Glmnet是一个通过惩罚最大似然来拟合广义线性模型的包。正则化路径是针对正则化参数的值网格处的套索或弹性网络罚值计算的。该算法速度极快,可以利用输入矩阵中的稀疏性x。它符合线性,逻辑和多项式,泊松和Cox回归模型。可以从拟合模型中做出各种预测。它也可以适合多响应线性回归。 glmnet算法采用循环坐标下降法,它连续优化每个参数上的目标函数并与其他参数固定,并反复循环直至收敛。该软件包还利用强大的规则来有效地限制活动集。由于高效的更新和技术,如热启动和主动集合收敛,我们的算法可以非常快地计算解决方案路径。 该代码可以处理稀疏的输入矩阵格式,以及系数的范围约束。其核心glmnet是一组Fortran子程序,它们使执行速度非常快。 该软件包还包括用于预测和绘图的方法以及执行K倍交叉验证的功能。 首先,我们加载glmnet包: library(glmnet)## Loading required package: Matrix## Loaded glmnet 1.9-9 包中使用的默认模型是高斯线性模型或“最小二乘”,我们将在本节中演示。我们加载一组预先创建的数据用于说明。用户可以加载自己的数据,也可以使用保存在工作区中的数据。 load("QuickStartExample.RData") 该命令从该保存的R数据档案中加载输入矩阵x和响应向量y。 我们使用最基本的呼叫来适应模型glmnet。 fit=glmnet(x,y) “适合”是类的一个对象,glmnet它包含拟合模型的所有相关信息以供进一步使用。我们不鼓励用户直接提取组件。相反,提供对象,如各种方法plot,print,coef和predict,使我们能够更优雅执行这些任务。 我们可以通过执行plot函数来显示系数: MSE在测试集上 我们看到lasso(alpha=1)在这里做的最好。我们也看到,使用的lambda的范围与alpha不同。 系数上限和下限这些是最近添加的增强模型范围的功能。假设我们想要拟合我们的模型,但将系数限制为大于-0.7且小于0.5。这是很容易通过实现upper.limits和lower.limits参数: 惩罚因素该参数允许用户对每个系数应用单独的惩罚因子。其每个参数的默认值为1,但可以指定其他值。特别是,任何penalty.factor等于零的变量都不会受到惩罚!让[ 数学处理错误]vĴ表示[ 数学处理错误]的惩罚因子Ĵ变量。罚款期限变为[ 数学处理错误] 请注意,惩罚因子在内部重新调整为与nvars相加。 当人们对变量有先验知识或偏好时,这非常有用。在很多情况下,一些变量可能非常重要,以至于一直想要保持这些变量,这可以通过将相应的惩罚因子设置为0来实现:

June 21, 2020 · 1 min · jiezi