R的核密度估计和多元统计.docx
《R的核密度估计和多元统计.docx》由会员分享,可在线阅读,更多相关《R的核密度估计和多元统计.docx(7页珍藏版)》请在冰豆网上搜索。
R的核密度估计和多元统计
R的核密度估计和多元统计
R核密度估计KDE密度估计函数density默认情况下在512个点上估计密度值这些估计点可能有些会分布在原始数据的左侧所以要查看原始数据后的密度图形我们需要从这些估值点选取比原始数据大的数据点。
libraryEcdatdataEarningspackageEcdatindEarningsageg1xEarningsyind/1000fdensityxn1000frootdensitysqrtxn1000ind2frootxsqrtminx选取比原始数据大的数据点plotfxfytypelylimc0.035xlimc0100ylabDensityyxlabyincomein1000lwd2ablineh0f2.5frooty/frootxlinesfrootxind22f2ind2typelylimc0.035xlimc0100ylabDensityyxlabyincomein1000mainTKDElty2lwd2ablineh0legend60.03cKDETKDEltyc12lwd2残差的获得R如果模型拟合可以直接返回残差省事了直接用否则我们可以使用residuals模型拟合结果databmwpackageevirbmwas.vectorbmwnlengthbmwfitAR1arimabmworderc100acffitAR1residualslag.max20mainacfresidualsfitAR1lag.max20main两者结果一致R语言多元统计包简介:
各种假设检验统计方法聚类分析数据处理sasmatlabR语言MultivariateStatistics多元统计网址http:
//cran.r-project.org/web/views/Multivariate.html转http:
//rbbs.biosino.org/Rbbs/posts/list/223.page基本的R包已经实现了传统多元统计的很多功能然而CRNA的许多其它包提供了更深入的多元统计方法下面做个简要的综述。
多元统计的特殊应用在CRNA的其它任务列表taskview里也会提及如排序ordination会在Environmetricshttp:
//cran.r-project.org/web/views/Environmetrics.html里说到有监督的分类方法能在MachineLearninghttp:
//cran.r-project.org/web/views/MachineLearning.html里找到无监督的分类在Clusterhttp:
//cran.r-project.org/web/views/Cluster.html里。
这里要综述的包主要分为以下几个部分1多元数据可视化Visualisingmultivariatedata绘图方法基本画图函数如pairs、coplot和lattice包里的画图函数xyplot、splom可以画成对列表的二维散点图3维密度图。
car包里的scatterplot.matrix函数提供更强大的二维散点图的画法。
cwhmisc包集合里的cwhplot包的pltSplomT函数类似pair画散点图矩阵而且可以在对角位置画柱状图或密度估计图。
除此之外scatterplot3d包可画3维的散点图aplpack包里bagplot可画二变量的boxplotspin3R可画可旋转的三维点图。
misc3d包有可视化密度的函数。
YaleToolkit包提供许多多元数据可视化技术agsemisc也是这样。
更特殊的多元图包括aplpack包里的faces可画Chernoff’sfaceMASS包里的parcoord可画平行坐标图矩阵的每一行画一条线横轴表示矩阵的每列graphics包里的stars可画多元数据的星状图矩阵的每一行用一个星状图表示。
ade4包里的mstree和vegan包里的spantree可画最小生成树。
calibrate包支持双变量图和散点图chplot包可画convexhull图。
geometry包提供了和qhull库的接口由convexhulln可给出相应点的索引。
ellipse包可画椭圆也可以用plotcorr可视化相关矩阵。
denpro包为多元可视化提供水平集树形结构levelsettrees。
graphics包里的mosaicplot和vcd包里的mosaic函数画马赛克图mosaicplot。
gclus包提供了针对聚类的散点图和平行坐标图。
rggobi包和DescribeDisplay包是GGobi的接口DescribeDisplay的图可达到出版质量的要求xgobi包是XGobi和XGvis的接口可实现动态交互的图。
最后iplots包提供强大的动态交互图尤其是平行坐标图和马赛克图。
seriation包提供seriation方法能重新排列矩阵和系统树。
数据预处理AIS包提供多元数据的初步描述函数。
Hmisc包里的summarize和summary.formula辅助描述数据varclus函数可做聚类而dataRep和find.matches找给定数据集的典型数据和匹配数据。
KnnFinder包里的nn函数用kd-tree找相似变量的个数。
dprep包为分类提供数据预处理和可视化函数如检查变量冗余性、标准化。
base包里的dist和cluster包里的daisy函数提供距离计算函数proxy包提供更多的距离测度包括矩阵间的距离。
simba包处理已有数据和缺失数据包括相似性矩阵和重整形。
2假设检验HypothesistestingICSNP包提供霍特林HotellingsT2检验和许多非参检验方法包括基于marginalranks的位置检验locationtest计算空间中值和符号形状估计。
cramer包做两样本的非参检验SpatialNP可做空间符号和秩检验。
3多元分布Multivariatedistributions描述统计Descriptivemeasuresstats包里的cov和andcor分别估计协方差和相关系数。
ICSNP包提供几种数据描述方法如spatial.median估计空间中值其它的函数估计scatter。
MASS包里的cov.rob提供更健壮的方差/协方差矩阵估计。
covRobust包用最近邻方差估计法估计协方差。
robustbase包的covMCD估计协方差和covOGK做OrthogonalizedGnanadesikan-Kettenring。
rrcov包提供可扩展和稳健的估计函数covMcd、covMest。
corpcor包可计算大规模的协方差和偏相关矩阵。
密度估计和模拟DensitiesestimationandsimulationMASS包的mvrnorm产生多元正态分布的随机数。
Mvtnorm包有多元t分布和多元正态分布的概率和分位数函数还可计算多元正态分布的密度函数。
mvtnormpcs包提供基于Dunnett的函数。
mnormt包提供元t分布和多元正态分布的密度和分布函数并可产生随机数。
sn包提供多元偏t分布和偏正态分布的密度、分布、随机数函数。
delt包提供了许多估计多元密度的函数方法如CART和贪婪方法。
CRAN的Cluster任务列表http:
//cran.r-project.org/web/views/Cluster.html有更全面的信息ks包里的rmvnorm.mixt和dmvnorm.mixt函数产生随机数和估计密度bayesm包里有多种拟合方法。
很多地方都提供了模拟Wishart分布的函数如bayesm包里的rwishartMCMCpack包里的rwish而且MCMCpack包还有密度函数dwish。
KernSmooth包里的bkde2D和MASS包的kde2d做分箱binned或不分箱二维核密度估计。
ks包也像ash和GenKern包样可做核平滑kernelsmoothing。
prim包用法找高维多元数据的高密度区域feature包可计算多元数据的显著特征。
正态检验Assessingnormalitymvnormtest包提供Shapiro-Wilks检验的多元数据延伸方法mvoutlier包检测多元离群点outlierICS包可检验多元正态分布。
energy包里的mvnorm.etest基于E统计量做正态检验k.sample检验多个数据是否来自同一分布。
dprep包里的mardia用Mardia检验正态性。
stats包里的mauchly.test可检验Wishart分布的协方差矩阵。
连接函数Copulascopula包提供常规的copula函数的程序包括normaltClaytonFrankGumbel。
fgac包提供generalisedarchimediancopulamlCopulaSelection包可做二变量的copula。
4线形模型Linearmodelsstats包里的lm可做多元线形模型anova.mlm比较多个多元线形模型manova做多元方差分析MANOVA。
sn包的msn.mle和andmst.mle可拟合多元偏正态和偏t分布模型。
pls包提供偏最小二乘回归PLSR和主成分回归ppls包可做惩罚偏最小二乘回归dr包提供降维回归方法如.片逆回归法SlicedInverseRegression、片平均方差估计slicedaveragevarianceestimation。
plsgenomics包做基于偏最小二乘回归的基因组分析。
relaimpo包可评估回归参数的相对重要性。
5投影方法Projectionmethods主成分Principalcomponentsstats包的prcomp基于svd和princomp基于eigen能计算主成分。
sca包做单分量分析。
nFactors可评价碎石图Screeplotparan包可评估主成分分析得到的主成分和因子分析得到的因子。
pcurve包做主曲线PrincipalCurve分析和可视化。
gmodels包提供适合大矩阵的fast.prcomp和fast.svd。
kernlab包里的kpca用核方法做非线性的主成分分析。
pcaPP包用投影寻踪projectionpursuit法计算稳健/鲁棒robust主成分。
amap包的acpgen和acprob函数分别针对广义generalized和稳健robust主成分分析。
主成分在很多方面也有相应的应用如涉及生态的ade4包感官的SensoMinR包。
psy包里有用于心理学的各种程序与主成分相关的有sphpca用球形直观表示相关矩阵类似于3D的PCAfpca图形展示主成分分析的结果而且允许某些变量间有相关性scree.plot图形展示相关或协方差矩阵的特征值。
PTAk包做主张量分析PrincipalTensorAnalysis。
smatr包提供关于异速生长allometry的函数。
典型相关CanonicalCorrelationstats包里的cancor是做典型相关的函数。
kernlab包提供更稳健的核方法kcca。
concor包提供了许多concordancemethods。
冗余度分析RedundancyAnalysiscalibrate包里的rda函数可做冗余度分析和典型相关。
fso包提供了模糊集排序Ordination方法。
独立成分IndependentComponentsfastICA包用fastICA算法做独立成分分析ICA和投影寻踪分析ProjectionPursuitmlica包提供独立成分分析的最大似然拟合PearsonICA包用基于互信息的打分函数分离独立信号。
ICS包能执行不变坐标系invariantcoordinatesystem和独立成分分析independentcomponents。
JADE包提供就JADE算法的接口而且可做一些ICA。
普鲁克分析Procrustesanalysisvegan包里的procrustes可做普鲁克分析也提供排序ordination函数。
更一般的普鲁克分析可由FactoMineR包里的GPA实现。
6主坐标/尺度方法Principalcoordinates/scalingmethodsstats包的cmdscale函数执行传统的多维尺度分析multidimensionalscalingMDS主坐标分析PrincipalCoordinatesAnalysisMASS包的sammon和isoMDS函数分别执行Sammon和Kruskal非度量多维尺度分析。
vegan包提供非度量多维尺度分析的包装wrappers和后处理程序。
7无监督分类Unsupervisedclassification聚类分析CRAN的Cluster任务列表全面的综述了R实现的聚类方法。
stats里提供等级聚类hclust和k-均值聚类kmeans。
cluster包里有大量的聚类和可视化技术clv包里则有一些聚类确认程序e1071包的classAgreement可计算Randindex比较两种分类结果。
Trimmedk-means聚类分析可由trimcluster包实现聚类融合方法ClusterEnsembles由clue包实现clusterSim包能帮助选择最佳的聚类hybridHclust包提供一些混合聚类方法。
energy包里有基于E统计量的距离测度函数edist和等级聚类方法hclust.energy。
LLAhclust包提供基于似然likelihoodlinkage方法的聚类也有评定聚类结果的指标。
fpc包里有基于Mahalanobis距离的聚类。
clustvarsel包有多种基于模型的聚类。
模糊聚类fuzzyclustering可在cluster包和hopach包里实现。
Kohonen包提供用于高维谱spectra或模式pattern的有监督和无监督的SOM算法。
clusterGeneration包帮助模拟聚类。
CRAN的Environmetrics任务列表里也有相关的聚类算法的综述。
mclust包实现了基于模型的聚类MFDA包实现了功能数据的基于模型的聚类。
树方法CRAN的MachineLearning任务列表有对树方法的细节描述。
分类树也常常是重要的多元方法rpart包正是这样的包rpart.permutation包还可以做rpart模型的置换permutation检验。
TWIX包的树可以外部剪枝。
hier.part包分割多元数据集的方差。
mvpart包可做多元回归树party包实现了递归分割recursivepartitioningrrp包实现了随机递归分割。
caret包可做分类和回归训练进而caretLSF包实现了并行处理。
kknn包的k-近邻法可用于回归也可用于分类。
8有监督分类和判别分析SupervisedclassificationanddiscriminantanalysisMASS包里的lda和qda分别针对线性和二次判别分析。
mda包的mdaandfda允许混合和更灵活的判别分析mars做多元自适应样条回归multivariateadaptiveregressionsplinesbruto做自适应样条后退拟合adaptivesplinebackfitting。
earth包里也有多元自适应样条回归的函数。
rda包可用质心收缩法shrunkencentroidsregularizeddiscriminantanalysis实现高维数据的分类。
VR的class包的knn函数执行k-最近邻算法knncat包里有针对分类变量的k-最近邻算法。
SensoMineR包的FDA用于因子判别分析。
许多包结合了降维dimensionreduction和分类。
klaR包可以做变量选择可处理多重共线性还有可视化函数。
superpc包利用主成分做有监督的分类classPP包则可为其做投影寻踪projectionpursuitgpls包用广义偏最小二乘做分类。
hddplot包用交叉验证的线性判别分析决定最优的特征个数。
supclust包可以根据芯片数据做基因的监督聚类。
ROCR提供许多评估分类执行效果的方法。
predbayescor包可做朴素贝叶斯naiumlveBayes分类。
关于监督分类的更多信息可以看MachineLearning任务列表。
9对应分析CorrespondenceanalysisMASS包的corresp和mca可以做简单和多重对应分析。
ca包提供单一、多重和联合joint对应分析。
ade4包的ca和mca分别做一般的和多重对应分析。
vegan包里也有类似的函数。
cocorresp可实现两个矩阵间的co-correspondence分析。
FactoMineR包的CA和MCA函数也能做类似的简单和多重对应分析还有画图函数。
homals执行同质分析homogeneity。
10前向查找ForwardsearchRfwdmv包执行多元数据的前向查找。
11缺失数据Missingdatamitools包里有缺失数据的多重估算multipleimputation的函数mice包用chainedequations实现了多重估算mvnmle包可以为多元正态数据的缺失值做最大似然估计MLEstimationnorm包提供了适合多元正态数据的估计缺失值的期望最大化算法EMalgorithmcat包允许分类数据的缺失值的多重估算mix包适用于分类和连续数据的混合数据。
pan包可为面版数据paneldata的缺失值做多重估算。
VIM包做缺失数据的可视化和估算。
Hmisc包的aregImpute和transcan提供了其它的估算缺失值方法。
EMV包提供了knn方法估计缺失数据。
monomvn包估计单调多元正态数据的缺失值。
12隐变量方法Latentvariableapproachesstats包的factanal执行最大似然因子分析MCMCpack包可做贝叶斯因子分析。
GPArotation包提供投影梯度GradientProjection旋转因子法。
FAiR包用遗传算法作因子分析。
ifa包可用于非正态的变量。
sem包拟合线形结构方程模型。
ltm包可做隐含式语义分析LatentsemanticanalysiseRm包则可拟合Rasch模型Raschmodels。
FactoMineR包里有很多因子分析的方法包括MFA多元因子分析HMFA等级多元因子分析ADFM定量和定性数据的多元因子分析。
tsfa包执行时间序列的因子分析。
poLCA包针对多分类变量polytomousvariable做潜类别分析LatentClassAnalysis。
13非高斯数据建模Modellingnon-Gaussiandatabivpois包建模Poisson分布的二变量。
mprobit包提供了适合二元和顺序响应变量的多元概率模型。
MNP包实现了Bayesian多元概率模型。
polycor包可计算多组相关olychoriccorrelation和四分相关tetrachoriccorrelation矩阵。
bayesm包里有多种模型如表面非相关回归SeeminglyunrelatedRegression多元logit/probit模型工具变量法InstrumentalVariables。
VGAM包里有广义线形和可加模型VectorGeneralisedLinearandAdditiveModels减秩回归ReducedRankregression。
14矩阵处理MatrixmanipulationsR作为一种基于向量和矩阵的语言有许多处理矩阵的强有力的工具由包Matrix和SparseM实现。
matrixcalc包增加了矩阵微积分的功能。
spam包提供了更深入的针对稀疏矩阵的方法。
15其它MiscellaneousutitliesDEA包执行数据包络分析dataenvelopmentanalysisDEA。
abind包组合多维array。
Hmisc包的mApply扩充了apply的功能。
除了前面描述的功能sn包还未偏正态和偏t分布提供边缘化marginalisation、仿射变换affinetransformations等。
SharedHT2包执行芯片数据的HotellingsT2检验。
panel包里有面版数据paneldata的建模方法。
mAr包可做向量自回归模型vectorauto-regressionMSBVAR包里有贝叶斯向量自回归模型。
Hmisc包的rm.boot函数bootstrap重复测量试验RepeatedMeasuresModels。
compositions包提供复合数据分析compositionaldataanalysis。
cramer包为两样本数据做多元非参Cramer检验。
psy里有许多心理学的常用方法。
cwhmisc包集合的cwhmath包里有许多有趣的功能如各种旋转函数。
desirability包提供了基于密度函数的多变量最优化方法。
geozoo包可以画geozoo包里定义的几何对象。
Rbootstrapbcanon的使用说明鉴于错误“错误于xdata1:
量度数目不对”libraryfEcofinformidCapreturnsdatalibrarybootstrapdatamidcapD.tsattachmidcapD.tspostscriptLSCC_CSGSQQ.pswidth6height5Figure6.2qqplotLSCCCSGSlmfitlmquantileCSGSc.25.75quantileLSCCc.25.75ablinelmfitgraphics.offnlengthLSCCquKurtfunctionyp10.025p20.25Qquantileycp1p21-p21-p1as.numericQ4-Q1/Q3-Q2compareQuKurtfunctionxp10.025p20.25xdataquKurtxdatax1p1p2/quKurtxdatax2p1p2quKurtLSCCquKurtCSGSxdatacbindLSCCCSGScompareQuKurt1:
nxdataxdataset.seed5640bca_kurtbcanon1:
n500compareQuKurtxdataxdatabca_kurtconfpoints同样的结果compareQuKurtfunctionxdatap10.025p20.25quKurtxdata1p1p2/quKurtxdata2p1p2compareQuKurtxdataset.seed5640bca_kurtbcanonxdata500compareQuKurtbca_kurtconfpoints但是在有复杂计算时自变量的多列参与到theta中我们尽量采用第一种方法bootstrap行的数目否则出现错误错误于xdata1:
量度数目不对