欢迎来到天天文库
浏览记录
ID:32015061
大小:1.01 MB
页数:23页
时间:2019-01-30
《r与python在昼夜节律分析中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第三届中国R语言会议R与Python在昼夜节律分析中的应用杨仁东cauyrd@gmail.com中国农业大学生物学院06级博士2010.6.151报告提纲1昼夜节律的定义与分析2昼夜节律的数学模型32R分析生物时间序列的周期性42Python调用R进行节律的建模5模拟数据与实验数据的分析结果6BioClock计算平台21.1昼夜节律定义•昼夜节律,,英文称为,英文称为CircadianRhythm,是一种以24小时左右为周期变化的生理学过程•昼夜节律就是我们通常意义上讲的生物钟31.2不同物种中的昼夜节律4报告提纲1昼夜节律的定义与分析2昼夜节律的数学
2、模型32R分析生物时间序列的周期性42Python调用R进行节律的建模5模拟数据与实验数据的分析结果6BioClock计算平台553.3昼夜节律的数学模型Phase(相位):peakPeriod(周期):两个连续time所在的时间点峰值之间的距离Meanlevel:时间序列样本点的平Amplitude(振幅):½均波峰-波谷振荡距离6报告提纲1昼夜节律的定义与分析2昼夜节律的数学模型32R分析生物时间序列的周期性42Python调用R进行节律的建模5模拟数据与实验数据的分析结果6BioClock计算平台773.1生物时间序列来源•数据来源–DNAMic
3、roarray生物芯片数据•实验条件–通常每隔4小时测量一次,,跨越两天的时间,跨越两天的时间,,每条时间序列有,每条时间序列有12、13个时间点–24小时弱光照–昼夜恒温83.2生物时间序列周期性分析•生物时间序列周期性的识别–问题::昼夜节律时间序列时间点少:昼夜节律时间序列时间点少,,经典的周,经典的周期性识别方法((如(如Fourier变换))无法适用)无法适用–解决::采用高分辨率的周期性频谱分析方法:采用高分辨率的周期性频谱分析方法•自回归谱分析(Autoregressivespectralanalysis)•对于circadianexpr
4、essiondata的处理非常有效•ARSER算法93.3ARSER算法•数学原理–AR(p)模型拟合–计算AR功率谱•分析流程103.4自回归谱分析的R代码•spec.ar(stats):–EstimateSpectralDensityofaTimeSeriesfromARFit•Description:–FitsanARmodeltox(orusestheexistingfit)andcomputes(andbydefaultplots)thespectraldensityofthefittedmodel.•Usage–spec.ar(x,n.fr
5、eq,order=NULL,plot=TRUE,na.action=na.fail,method="yule-walker",...)•Arguments–x:::Aunivariate(notyet:ormultivariate)timeseriesortheresultofafitbyar.–n.freq:::Thenumberofpointsatwhichtoplot.orderTheorderoftheARmodeltobefitted.Ifomitted,theorderischosenbyAIC.–method:::methodforarf
6、it.(Burg/Yule-Walker/mle…)11报告提纲1昼夜节律的定义与分析2昼夜节律的数学模型32R分析生物时间序列的周期性42Python调用R进行节律的建模5模拟数据与实验数据的分析结果6BioClock计算平台124.1Python调用R进行节律建模•R的spec.ar函数用来识别时间序列的周期性性,性,,完成算法的统计计算部分,完成算法的统计计算部分;;数据的处;数据的处理理、理、、与回归部分用、与回归部分用Python程序完成•Python语言有丰富的扩展包,Python可以通过Rpy包调用R函数–Rpy包逐渐被其升级版本Rpy2
7、所替代134.2代码细节Importnumpyasnpfromrpyimportr#导入Rpy包x=r.seq(0,48,4)#x<-seq(0,48,4)x=np.array(x)y=r.cos(2*r.pi/24*x)+r.rnorm(r.length(x))arse=r.sepc_ar(y)#自回归波谱分析的计算arse<-spec.ar(y)r.print(arse[‘freq’])#print(arse$freq)r.print(arse[‘spec’])144.3Rpy2•Python通过rpy2.robjects中r实例访问R的对象•调用
8、R函数–以属性的形式–以关键字的形式–直接作为R的解释器•返回多为RVector对象•Rpy2
此文档下载收益归作者所有