R-语言程序
R语言(介绍)

• R免费 • R 资源公开(不是黑盒子,也不是吝啬鬼) • R可以在UNIX, Linux, Windows和OS X运行. • R 有优秀的内在帮助系统. • R有优秀的画图功能 • 学生能够轻松地转到商业支持的 S-Plus程序(如果
需要使用商业软件) • R语言有一个强大的,容易学习的语法,有许多内在
Packages (继续)
• MASSMain Package of Venables and Ripley's MASS • methodsFormal Methods and Classes • mgcvGAMs with GCV smoothness estimation and GAMMs by REML/PQL • multtestResampling-based multiple hypothesis testing • nlmeLinear and nonlinear mixed effects models • nnetFeed-forward Neural Networks and Multinomial Log-Linear Models • nortestTests for Normality • outliersTests for outliers • plsPartial Least Squares Regression (PLSR) and Principal Component Regression (PCR) • pls.pcrPLS and PCR functions • rpartRecursive Partitioning • SAGxStatistical Analysis of the GeneChip • smaStatistical Microarray Analysis • spatialFunctions for Kriging and Point Pattern Analysis • splinesRegression Spline Functions and Classes • statsThe R Stats Package • stats4Statistical Functions using S4 Classes • survivalSurvival analysis, including penalised likelihood. • tcltkTcl/Tk Interface • toolsTools for Package Development • utilsThe R Utils Package
R语言-程序执行时间

R语⾔-程序执⾏时间
我们往往对⾃⼰编写程序的运⾏效率⼗分关⼼,需要查看程序的执⾏时间。
在R中,获得时间的函数有不少,⽐如system.time()、proc.time()等。
个⼈使⽤较多的是proc.time()
> proc.time()
⽤户系统流逝
12.60 0.93 773.10
英⽂版本显⽰的分别是:user system elapsed
“⽤户”时间指运⾏此程序使⽤CPU的时间,它不包括此阶段内计算机其它进程的时间(⽐如开的杀毒软件等等);
“系统”时间指程序中的⼀些诸如打开、关闭⽂件,分配、释放内存,执⾏系统指令等等的CPU时间,也不包括其它进程占⽤的时间;
“流逝”时间则指实际执⾏时间。
当单线程执⾏程序时,前两者之和约等于(略⼩于)第三者。
⽽当多线程时,第三者可能⼩于甚⾄远⼩于前两者之和~~
常⽤的⼀种查看程序执⾏时间的⽅式:
t1=proc.time()
#程序体
t2=proc.time()
t=t2-t1
print(paste0('执⾏时间:',t[3][[1]],'秒'))
[1] "执⾏时间:9.76999999999998秒"。
R语言入门

工作目录的设定
得到当前的工作目录 getwd()
setwd()
设置永久目录
Rdata和Rhistory
.RData文件:存放了新建的变量,以及函数 、数据等。 .Rhistory文件:存放了我们的历史命令。
练习一:下载和安装R
下载并安装R软件和Rstudio小助手 了解R的菜单和Rstudio界面
mvpart- 多变量分解
BiodiversityR - 基于Rcmdr的生物多样性数据分析 vegan- 植物与植物群落的排序,生物多样性计算
常用R程序包
maptools- 空间对象的读取和处理 spspatstatsplancspicante空间数据处理 空间点格局分析,模型拟合与检验 空间与时空点格局分析 群落系统发育多样性分析
install.packages(“ape")
2 安装本地zip包
路径:Packages>install packages from local files 选择光盘或者本地磁盘上存储zip包的文件夹。
Rstudio安装包
1 连网时,用函数 install.packages()
2 安装本地zip包 路径:tools>install packages
图1 R软件首页 /
菜单栏 快捷按钮
控制台
ห้องสมุดไป่ตู้
命令行
图2 R登陆界面(Windows版) 路径: 开始>所有程序> R-3.2.2
图3 R Gui 的菜单介绍
下载和安装RStudio
Rstudio下载地址: https:/// https:///products/rstu dio/download/ 下载完成后,双击RStudio-0.99.484.exe 开始安 装。一直点击下一步,各选项默认。
时间序列分析R语言程序

#例2.1绘制196 ------- 1999年中国年纱产量序列时序图(数据见附录1.2)Data1.2=read.csv("C:\\Users\\Administrator\\Desktop\\ 附录1.2.csv",header=T)#如果有标题,用T;没有标题用Fplot(Data1.2,type='o')#例2.1续tdat1.2=Data1.2[,2]a1.2=acf(tdat1.2)#例2.2绘制1962年1月至1975年12月平均每头奶牛产奶量序列时序图(数据见附录1.3)Data1.3=read.csv("C:\\Users\\Administrator\\Desktop\\ 附录 1.3.csv”,header=F)tdat1.3=as.vector(t(as.matrix(Data1.3)))[1:168]# 矩阵转置转向量plot(tdat1.3,type=T)#例2.2续acf(tdat1.3) #把字去掉pacf(tdat1.3)#例2.3绘制1949——1998年北京市每年最高气温序列时序图Data1.4=read.csv("C:\\Users\\Administrator\\Desktop\\ 附录 1.4.csv”,header=T)plot(Data1.4,type='o')##不会定义坐标轴#例2.3续tdat1.4=Data1.4[,2]a1.4=acf(tdat1.4)#例2.3续Box.test(tdat1.4,type="Ljung-Box”,lag=6)Box.test(tdat1.4,type="Ljung-Box”,lag=12)#例2.4随机产生1000个服从标准正态分布的白噪声序列观察值,并绘制时序图Data2.4=rnorm(1000,0,1)Data2.4plot(Data2.4,type=T)#例2.4续a2.4=acf(Data2.4)#例2.4续Box.test(Data2.4,type="Ljung-Box”,lag=6)Box.test(Data2.4,type="Ljung-Box”,lag=12)#例2.5对195 ——1998年北京市城乡居民定期储蓄所占比例序列的平稳性与纯随机性进行检验Data1.5=read.csv("C:\\Users\\Administrator\\Desktop\\ 附录 1.5.csv”,header=T)plot(Data1.5,type='o',xlim=c(1950,2010),ylim=c(60,100) )tdat1.5=Data1.5[,2]a1.5=acf(tdat1.5)#白噪声检验Box.test(tdat1.5,type="Ljung-Box”,lag=6)Box.test(tdat1.5,type="Ljung-Box”,lag=12)#例2.5续选择合适的ARMA模型拟合序列acf(tdat1.5)pacf(tdat1.5)#根据自相关系数图和偏自相关系数图可以判断为AR(1)模型#例2.5续P81 口径的求法在文档上#P83arima(tdat1.5,order=c(1,0,0),method="ML")# 极大似然估计ar1=arima(tdat1.5,order=c(1,0,0),method="ML") summary(ar1)ev=ar1$residualsacf(ev)pacf(ev)#参数的显著性检验t1=0.6914/0.0989p1=pt(t1,df=48,lower.tail=F)*2#ar1的显著性检验t2=81.5509/ 1.7453p2=pt(t2,df=48,lower.tail=F)*2#残差白噪声检验Box.test(ev,type="Ljung-Box”,lag=6,fitdf=1)Box.test(ev,type="Ljung-Box”,lag=12,fitdf=1)#例2.5续P94预测及置信区间predict(arima(tdat1.5,order=c(1,0,0)),n.ahead=5)tdat1.5.fore=predict(arima(tdat1.5,order=c(1,0,0)),n.ahea d=5)U=tdat1.5.fore$pred+1.96*tdat1.5.fore$seL=tdat1.5.fore$pred-1.96*tdat1.5.fore$seplot(c(tdat1.5,tdat1.5.fore$pred),type="l”,col=1:2)lines(U,co l=”blue”,lty=”dashed”)lines(L,col=”blue”,lty=”dashed”)#例3.1.1例3.5 例3.5续#方法一plot.ts(arima.sim(n=100,list(ar=0.8)))#方法二x0=runif(1)x=rep(0,1500)x[1]=0.8*x0+rnorm(1) for(i in 2:length(x)) {x[i]=0.8*x[i-1]+rnorm(1)} plot(x[1:100],type=T) acf(x)pacf(x)##拟合图没有画出来x[1]=x1x[2 ]=-x1-0.5*x0+rnorm(1)for(i in 3:length(x)){x[i]=-x[i-1]-0.5*x[i-2]+rnorm(1)} plot(x[1:100],type=T)acf(x)pacf(x)#例3.1.2x0=runif(1)x=rep(0,1500)x[1]=-1.1*x0+rnorm(1) for(i in 2:length(x)) #均值和方差smu=mean(x) svar=var(x){x[i]=-1.1*x[i-1]+rnorm(1)} plot(x[1:100],type=T) acf(x) pacf(x) #例3.2求平稳AR (1)模型的方差例3.3 mu=0 mvar=1/(1-0.8A2) #书上51 页#总体均值方差#例3.1.3方法一plot.ts(arima.sim(n=100,list(ar=c(1,-0.5)))) #方法二x0=runif(1)x1=runif(1)x=rep(0,1500)x[1]=x1x[2]=x1-0.5*x0+rnorm(1)for(i in 3:length(x)){x[i]=x[i-1]-0.5*x[i-2]+rnorm(1)}plot(x[1:100],type=T)acf(x)pacf(x) cat("population mean and var are”,c(mu,mvar),"\n")#样本均值方差cat("sample mean and var are”,c(mu,mvar),"\n")#例题3.4svar=(1+0.5)/((1-0.5)*(1-1-0.5)*(1+1-0.5))#例题3.6 MA模型自相关系数图截尾和偏自相关系数图拖尾#3.6.1法:x=arima.sim(n=1000,list(ma=-2))plot.ts(x,type='l')acf(x)#例3.1.4x0=runif(1)x1=runif(1)x=rep(0,1500)x[1]=x1x[2]=x1+0.5*x0+rnorm(1)for(i in 3:length(x)){x[i]=x[i-1]+0.5*x[i-2]+rnorm(1)} plot(x[1:100],type=T)acf(x)pacf(x) pacf(x)法二x=rep(0:1000)for(i in 1:1000){x[i]=rnorm[i]-2*rnorm[i-1]} plot(x,type=T)acf(x)pacf(x)#3.6.2法一:又一个式子x0=runif(1)x1=runif(1)x=rep(0,1500) x=arima.sim(n=1000,list(ma=-0.5)) plot.ts(x,type='l')acf(x)pacf(x)法二x=rep(0:1000)for(i in 1:1000){x[i]=rnorm[i]-0.5*rnorm[i-1]}plot(x,type='l')acf(x)pacf(x)##错误于rnorm[i]:类别为'closure'的对象不可以取子集#3.6.3法^:x=arima.sim(n=1000,list(ma=c(-4/5,16/25)))plot.ts(x,type=T)acf(x)pacf(x)法二:x=rep(0:1000)for(i in 1:1000) {x[i]=rnorm[i]-4/5*rnorm[i-1]+16/25*rnorm[i-2]} plot(x,type='l')acf(x)pacf(x)##错误于x[i] = rnorm[i] - 4/5 * rnorm[i - 1] + 16/25 * rnorm[i - 2] :##更换参数长度为零#例3.6续根据书上64页来判断#例3.7拟合ARMA ( 1,1)模型,x(t)-0.5x(t-1)=u(t)-0.8*(u-1),并直观观察该模型自相关系数和偏自相关系数的拖尾性。
R语言入门操作(2)

通过Lasso 来进⾏行行压缩估计和变量量选择2018年年9⽉月24⽇日⽥田甜参数估计与假设检验2019年年4⽉月28⽇日 ⽥田甜CONTENTS01 02 03Rstudio 参数估计假设检验01Rstudio•R,解释器器,IDE的关系R是⼀一种解释型语⾔言,不不需要编译的过程,代码的翻译和执⾏行行是同步的,R不不需要编译器器但需要解释器器图形界⾯面程序(GUI)除了了引⽤用了了解释器器到它主要窗⼝口中外,还实现了了编辑器器,图形展示和快捷按钮等功能,⼀一个GUI程序只需提供对R语⾔言常⽤用功能的图形化包装即可被称R的GUIGUI如果在⼀一个窗⼝口中包括了了解释器器、编辑器器和图形展示等功能则可被称为IDERstudio是⼀一个优秀的R IDE•选择⼀一个适合⾃自⼰己的IDE(Integrated Development Environment)•控制台•⼯工作空间和历史窗⼝口•画图和帮助窗⼝口2.1参数估计-点估计•矩估计因为不不同的分布有不不同的参数,所以在R 的基本包中并没有给出现成的函数,⼀一般要转化为⽅方程组求解:例例:设随机变量量X 服从[ , ]的均匀分布,现有n 个样本, ,估计两个参数解:⽤用样本⼀一阶矩(样本均值)估计总体均值,样本⼆二阶矩(样本⽅方差)估计总体⽅方差,即⽤用rootSolve 包中的函数multiroot()求解⽅方程组install.packages('rootSolve') # 安装rootSolve 程序包library(rootSolve) # 载⼊入包θ2x 1,...,x n θ1E (X )=θ1+θ22=¯x Var (X )=(θ2−θ1)212=1n n ∑i =1(x 1−¯x )2=S 2•输⼊入样本数据,计算样本⼀一阶矩和⼆二阶矩程序运⾏行行结果(采⽤用迭代的⽅方式,因此需要给出初始值)x = c(4, 5, 2, 9, 5, 1, 6, 4, 6, 2)mu = mean(x) # ⼀一阶矩var = sum((x - mean(x)) ^ 2) / 10 # ⼆二阶矩•构建⽅方程组model = function(theta, mu, var){c(F1 = theta[1] + theta[2] - 2 * mu,F2 = (theta[2] - theta[1]) ^ 2 / 12 - var)}•调⽤用函数进⾏行行求解(详细的参数说明可⽤用?multiroot命令来查看)multiroot(f=model,start=c(0,10),mu=mu,var=var)•法⼀一:写出似然函数,求偏导转换为⽅方程组,求解⽅方程组•例例:设X 服从正态分布 ,为来⾃自总体的⼀一组样本,⽤用极⼤大似然估计参数解:似然函数为:求偏导可得:N (μ,σ2)x 1,...,x n L (μ,σ2;x )=n ∏i =1f (x i ;μ,σ2)=(2πσ2)−n /2exp [−12σ2n∑i =1(x i −μ)2]∂lnL (μ,σ2;x )∂μ=−1σ2n ∑i =1(x i −μ)=0∂lnL (μ,σ2;x )∂σ2=−n 2σ2+12σ4n ∑i =1(x i −μ)2=0•输⼊入数据程序运⾏行行结果set.seed(1) # 设置随机种⼦子x = rnorm(10) # ⽣生成10个服从标准正态分布的随机数•构建⽅方程组model = function(e,x){n = length(x)c(F1 = sum(x - e[1]),F2 = - n + sum((x - e[1]) ^ 2) / e[2] ^ 2)}•调⽤用函数进⾏行行求解multiroot(f=model,start=c(0,1),x=x)•法⼆二:写出对数似然函数,调⽤用maxLik 包中的函数maxLik 。
数学软件--R

没有任何别的选择
36
现代统计学家都自己编程,比如…
• • • • • • • • • Brockwell & Davis (时间序列) Bruce & Gao (小波分析) Bickel, et al. (非线性回归) Hastie (广义可加模型) Silverman (非参数密度估计) McCullagh & Nelder (广义线性模型) Hardell 、 Marron、范剑青(非参数回归) Diggle , et al. (纵向数据) ……………………………………….
其他有关软件
• Minitab:这个软件是很方便的功能强大 而又齐全的软件,也已经“傻瓜化”, 在我国用的不如SPSS与SAS那么普遍。 • Statistica :也是功能强大而齐全的“傻 瓜化”的软件,在我国用的也不如 SAS 与SPSS那么普遍。 • Eviews :这是一个主要处理回归和时间 序列的软件。 • Systat: 已经被SPSS购买而消失 • GAUSS :这是一个很好用的统计软件, 许多搞经济的喜欢它。主要也是编程功 能强大。目前在我国使用的人不多。
16
统计和计算机
• 现代生活已离不开计算机了。 • 但最早使用计算机的是统计。 • 最初的计算机仅仅是为科学计算 而建造的。大型计算机的最早一 批用户就包含统计。 • 而现在统计仍然是进行数字计算 最多的用户。
17
统计和计算机
• 计算机现在早已脱离了仅有计算 功能的单一模式,而成为百姓生 活的一部分。 • 计算机的使用,也从过去必须学 会计算机语言到只需要“傻瓜式” 地点击鼠标。结果也从单纯的数 字输出到包括漂亮的表格和图形 的各种形式。
37
毫无例外,没有任何 新的重要统计方法是 利用诸如SAS或 SPSS等傻瓜软件产 生的。
【R】R语言手册
【R】R语⾔⼿册2018-07-30 21:09:07在R的官⽅教程⾥是这么给R下注解的:⼀个数据分析和图形显⽰的程序设计环境(A system for data analysis and visualization which is built based on S language.)。
R的源起R是S语⾔的⼀种实现。
S语⾔是由 AT&T贝尔实验室开发的⼀种⽤来进⾏数据探索、统计分析、作图的解释型语⾔。
最初S语⾔的实现版本主要是S-PLUS。
S-PLUS是⼀个商业软件,它基于S语⾔,并由MathSoft公司的统计科学部进⼀步完善。
后来Auckland⼤学的Robert Gentleman 和 Ross Ihaka 及其他志愿⼈员开发了⼀个R系统。
R的使⽤与S-PLUS有很多类似之处,两个软件有⼀定的兼容性。
R is freeR是⽤于统计分析、绘图的语⾔和操作环境。
R是属于GNU系统的⼀个⾃由、免费、源代码开放的软件,它是⼀个⽤于统计计算和统计制图的优秀⼯具。
R是⼀套完整的数据处理、计算和制图软件系统。
其功能包括:数据存储和处理系统;数组运算⼯具(其向量、矩阵运算⽅⾯功能尤其强⼤);完整连贯的统计分析⼯具;优秀的统计制图功能;简便⽽强⼤的编程语⾔:可操纵数据的输⼊和输⼊,可实现分⽀、循环,⽤户可⾃定义功能。
R是⼀个免费的⾃由软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免费下载和使⽤的,在那⼉可以下载到R的安装程序、各种外挂程序和⽂档。
在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得。
R的特点(1) 有效的数据处理和保存机制。
(2) 拥有⼀整套数组和矩阵的操作运算符。
(3) ⼀系列连贯⽽⼜完整的数据分析中间⼯具。
(4) 图形统计可以对数据直接进⾏分析和显⽰,可⽤于多种图形设备。
(5) ⼀种相当完善、简洁和⾼效的程序设计语⾔。
它包括条件语句、循环语句、⽤户⾃定义的递归函数以及输⼊输出接⼝。
R语言
R很适合被用于发展中的新方法所进行的交互式数据分析。由于R是一个动态的环境,所以新发布的版本并不 总是与之前发布的版本完全兼容。某些用户欢迎这些变化因为新技术和新方法的所带来的好处;有些则会担心旧 的代码不再可用。尽管R试图成为一种真正的编程语言,但是不要认为一个由R编写的程序可以长命百岁。
主窗口上方的一些文字是刚运行R时出现的一些说明和指引。文字下的:>符号便是R的命令提示符,在其后 可输出命令;>后的矩形是光标。R一般是采用交互方式工作的,在命令提示符后输入命令,回车后便会输出结果。
在R朴素的界面下,是丰富而复杂的运算功能。
谢谢观看
S(和R)与其他主流的统计系统在本质上有一个很重要的不同。在S中,统计分析通常由一系列的步骤完成, 同时将交互的结果存储在对象中。所以,尽管SAS和SPSS在一个回归或者判别分析中会给出丰富的输出结果,R只 是给出一个最小的输出,而将结果保存在一个适当的对象中由R函数进行后续查询。
使用R最便捷的方式是在一个运行视窗系统的图形工作站上。这份指南就是为拥有这项便利的用户准备的。尽 管我们绝大部分的内容都是来讲R环境的一般应用,我们还是会时不时的提到R在Xwindow系统下的应用。
CRAN
CRAN为Comprehensive R Archive Network(R综合典藏)的简称。它除了收藏了R的执行档下载版、源代 码和说明文件,也收录了各种用户撰写的软件包。现时,全球有超过一百个CRAN镜像站。
安装
以下简述R FOR WINDOWS的安装和使用:
贝尔实验室美国总部下可以找到R的各个版本的安装程序和源代码。点击进入:Windows (95 and later), 再点击:base,下载SetupR.exe,约18兆,此便是R FOR WINDOWS的安装程序。双击SetupR.exe,按照提示一 步步安装即可。
R语言教学课件
• R 导论。R-intro.pdf。 R网站
下载。
4. R的界面/R GUI
• 退出R采用函 数:q() • >是R的命令 提示符
4.2 开始R作业编写脚本
5. R的命令格式
• 可以在命令提示符下直接输入或者编写为脚本文 件。 • R是表达式语言。且它大小写敏感。 • 命令提示符默认是 “>”。 • 每条命令可以被(;)隔开,或者另起一行。 • 如果一条命令在一行结束的时候在语法上还不完 整,R 会给出一个不同的提示符,默认是“+”。 • 基本命令可以通过大括弧(“{”和“}”) 放在一起构 成一个复合表达式。 • 注释几乎可以放在任何地方。
sin(seq(0, 2 * pi, length = 100)) 0.5 -1.0 -0.5 0.0 1.0
[1] 1.414214 > seq(0, 5, length=6)
[1] 0 1 2 3 4 5
0
20
40 Index
60
80
100
> plot(sin(seq(0, 2*pi, length=100)))
– 比如因此A 和a 是不同的符号且指向不同的变量。
– 一行中,从井号(“#”)开始到句子收尾之间的语句就是 注释。
5.1 R语言
• R是表达式语言。且它大小写敏感。
• 基本命令Leabharlann 含– 比如因此A 和a 是不同的符号且指向不同的变量。 – 表达式:会被解析(evaluate),并将结果值显示在屏幕上,同 时清空该命令所占内存 – 赋值:会解析并且把结果值传给变量但结果值不会自动显示在屏 幕上。
– – – – 有效的数据处理和保存机制。 完整的数组和矩阵计算操作符。 连贯而又完整的数据分析工具。 图形工具可以对数据直接进行分析和展示,同时可用 于多种图形设备 – 它是一种相当完善,简洁而又高效的程序设计语言(S 语言)。它包括条件语句,循环语句,用户定义的递归 函数以及各种输入输出接口。(实际上,系统提供的 大多数函数都是用S 写的)。
面向对象编程r语言
面向对象编程r语言全文共四篇示例,供读者参考第一篇示例:面向对象编程(Object-Oriented Programming, OOP)是一种程序设计的方法,通过使用对象、类和继承等概念来组织和管理代码。
在现代编程语言中,面向对象编程已经成为一种主流的编程范式。
在此范式下,代码被组织成对象的集合,这些对象可以互相传递消息和共享数据,从而实现复杂的功能。
在R语言中,面向对象编程的核心概念包括对象、类和方法。
下面我们将分别介绍这些概念,并讨论如何在R语言中应用面向对象编程。
1. 对象(Object)在面向对象编程中,对象是代码的基本组成单位。
一个对象可以包含数据和方法。
在R语言中,对象通常使用“S3”和“S4”两种方式来表示。
S3对象是一种简单的对象,可以包含标量、向量和列表等数据结构;S4对象是一种更加复杂的对象,可以包含更多的特性和方法。
我们可以定义一个类似于“人”的对象,并为它添加一些属性和方法:```Rperson <- list(name="John", age=30)greet <- function(person) {print(paste("Hello, my name is", personname))}greet(person)```上面的代码中,我们定义了一个“人”对象,包含了姓名和年龄两个属性,同时定义了一个“greet”方法,用于打印出“人”的姓名。
2. 类(Class)类是对象的模板,用于定义对象的结构和行为。
在R语言中,可以使用“S3”和“S4”两种方式来定义类。
在定义类时,通常会包含属性和方法等信息。
3. 方法(Method)我们可以为之前定义的“人”类添加一个“grow”方法,用于增加“人”的年龄:上面的代码中,我们为“Person”类添加了一个“grow”方法,用于增加“人”的年龄。
然后创建了一个名为“John”的对象,并调用“grow”方法来增加“John”的年龄。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
response functions
Yi (t ) X ia Ba (t ) Z il U l (t ) Ei (t ) a 1 l 1
fixed effect function random effect functions
p
m
residual error functions
Conclusions
Introduction
Functional Data:
– Ideal units of observation: curves – Observed data: curves sampled on fine grid
– – In recent years, these type of data are being increasingly encountered in practice with new technologies taking automated measurements Examples: accelerometer data, EEG data, ECG data, time series, various genomics and proteomics data (MALDI-MS) Scanned images w/ intensities representing measurement of interest Data set involves multiple images; from multiple individuals, and often multiple images per individual Interested in combining information across images to make inferences about populations or interventions Examples: fMRI data, 2D gel electrophoresis proteomics data, PET data, Time-space data
Types of Functional Regression
Functional regression: Linear regression involving functional data with (typically) nonparametrically represented coefficients Types of Functional regression:
– MALDI-MS: protein peaks; fMRI: brain regions; 2dGE: spots
2. Identify which are related to factors of interest (FDR)
Alternative: Functional Data Analysis
Robust Regression for Functional and Image Data using Functional Mixed Models
Jeffrey S. Morris Department of Biostatistics
The University of Texas MD Anderson Cancer Center
Gaussian Functional Mixed Model
N T N m U l ~ MVN (0, Q) Y B Z U X Ei ~ MVN (0, S ) E p T mT N T N p
Random effect and residual error functions assumed to be mean-zero Gaussians Q and S are covariance matrices (T T) describing curve-to-curve deviations
– Too high dimension to leave fully unstructured
– Irregular functional data: Q and S will contain many nonstationarities (heteroscedasticity, varying smoothness), so important to allow flexible representations; i.e. not assume something naï ve and simple. – Morris and Carroll (2006) model in wavelet space; make parsimonious assumptions in there that accommodates nonstationary covariance structures for Q,S
N T
ห้องสมุดไป่ตู้
N m Y B Z U X E p T mT
N p
N T
Columns index grid points on function t
Image FMM can also be written in this form
– Vectorize each T1xT2 image: Yi=vec{Yi} – Stack into a single response matrix Y (T=T1×T2 cols), with each row a vectorized image
Gaussian Functional Mixed Models
– Functional Mixed Models – Gaussian Wavelet-Based Functional Mixed Models
Robust Functional Mixed Models
– Robust Functional Mixed Models – Robustness and Adaptive Properties – Simulation study results
• Ba(t) summarizes partial effect of Xa on Yi(t) • Ul(t) are mean-zero random effect functions • Ei(t) are mean-zero residual error functions
• Key to flexibility: forms of Ba(t), Ul(t) and Ei(t) left unspecified • Assumptions needed on distributions and covariance structure of U,E
Gaussian Wavelet-Based Functional Mixed Models (G-WFMM)
1. Project observed functions Y into wavelet space; Apply DWT to each observed function (D=YW’)
Wavelets
Wavelet representation: Yi(t)=Sdi jkyjk (t) Benefits of Using Wavelet Bases
1. Compact support allows efficient representations of local features and discontinuities 2. Sparsity property useful for compression and denoising 3. Whitening property allows parsimonious yet flexible representations of Q and S
Quantitative Image Analysis:
– – – –
Statistical Modeling of Functions/Images
Standard Approach: Feature Extraction
1. Detect and quantify information for each feature
Discrete Version of FMM
Functional Data on Fine Grid: Suppose each observed curve is sampled on a common equally-spaced grid of length T, with T very large (hundreds to millions)
– Function as response: Yi(t) ~ Xi – Function as predictor: Yi ~ Xi(t) – Functional response and predictor: Yi(t) ~ Xi(s)
Our focus here: function as response
Functional Mixed Model (FMM)
Idea: Relate functional response to scalar predictors through functional coefficients, while adjusting for possible design-induced correlation between functions Suppose we observe sample of N functions, Yi(t), i=1, …,N, on a closed interval T, along with p predictors
– Requires very flexible modeling techniques to capture complex local features in data. – Methods must be computationally efficient enough to handle extremely high dimensions of these data – Should borrow strength spatially (i.e. smooth, preferably adaptively) in performing inference – Must find way to adjust for multiple testing (FDR) – Not used for 2dGE or MALDI-MS; approach used in fMRI, but few methods integrate smoothing, inference, and FDR – Functional Regression commonly used to relate functions to other outcomes/groups