分享

统计模型分析

 robertread 2017-01-06
WOLFRAM 语言教程

统计模型分析

当我们对数据进行模型拟合时,分析模型对数据拟合的好坏以及检验该拟合是否满足模型的假设条件都是非常有必要的. 在 Wolfram 系统里,对大部分常见的统计模型来说,这一工作都可以通过用于建立 FittedModel 对象的拟合函数来实现.

FittedModel代表一个符号化的拟合模型

关于拟合模型信息的对象.

FittedModel 对象可以在某一点求值,或者用来对结果和诊断信息进行查询. 对于不同的模型类别,诊断方法有所不同. 现有的模型拟合函数可以用来拟合线性模型、广义线性模型和非线性模型.

LinearModelFit构建一个线性模型
GeneralizedLinearModelFit构建一个广义线性模型
LogitModelFit构建一个二项logistic回归模型
ProbitModelFit构建一个二项probit回归模型
NonlinearModelFit构建一个非线性最小二乘模型

用来产生 FittedModel 对象的函数

这里假设 的值是 1, 2, … 来拟合一个线性模型:
In[1]:=
Click for copyable input
lm = LinearModelFit[{1.5, 3.4, 7.1, 8.3, 10.4}, x, x]
Out[1]=
以下是拟合模型的函数形式:
In[2]:=
Click for copyable input
Out[2]=
在点 对模型求值:
In[3]:=
Click for copyable input
Out[3]=
线性拟合模型可以产生的结果的简化列表如下所示:
In[4]:=
Click for copyable input
Out[4]//Short=

诸如 LinearModelFit 的模型拟合的函数和诸如 FitFindFit 的函数之间的主要差别在于从 FittedModel 对象中方便地获取诊断信息的能力. 对相关结果,不用重新拟合模型也能访问.

这里给出拟合得到的残差:
In[5]:=
Click for copyable input
Out[5]=
我们也可以在一个列表里同时得到多个结果,具体结果如下所示:
In[6]:=
Click for copyable input
Out[6]=

我们还可以把和属性计算相关的拟合选项传递给 FittedModel 对象来重载默认值.

下面给出的是默认的 95 % 的置信区间.
In[7]:=
Click for copyable input
Out[7]=
这里则得到 90 % 的置信区间.
In[8]:=
Click for copyable input
lm["ParameterConfidenceIntervals", ConfidenceLevel -> .9]
Out[8]=

对于这些模型拟合函数来说,它们所用的典型数据和其他拟合函数,如 FitFindFit 的数据有着相同的形式.

{y1,y2,…}具有一个取值为 1, 2, … 的单预测变量的数据点
{{x11,x12,…,y1},{x21,x22,…,y2},…}有显式坐标的数据点

数据指定模式

线性模型

假设误差服从独立的正态分布的线性模型属于我们最常见的数据模型. 这种类型的模型可以用 LinearModelFit 函数来拟合.

LinearModelFit[{y1,y2,…},{f1,f2,…},x]获得一个基函数为 fi,单预测变量为 x 的线性模型
LinearModelFit[{{x11,x12,…,y1},{x21,x22,…,y2}},{f1,f2,…},{x1,x2,…}]获得一个具有多个预测变量 xi 的线性模型
LinearModelFit[{m,v}]获得一个基于一个设计矩阵 m 和一个响应向量 v 的线性模型

线性模型拟合

线性模型采用如下形式:,这里 是拟合值或预测值, 是拟合参数,而 是预测变量 的函数. 模型对于参数 来说是线性的. 而 可以是预测变量的任何函数. 经常可以看到, 就是预测变量 本身.

如果要对前20个元素进行线性拟合,我们可以采用以下过程:
In[9]:=
Click for copyable input
Out[9]=

另外,我们也提供了用来进行详细模型描述和模型分析的具体选项.

选项名
默认值
ConfidenceLevel95/100用于参数和预测的置信水平
IncludeConstantBasisTrue是否包括一个常数基函数
LinearOffsetFunctionNone线性预测的已知偏移量
NominalVariablesNone名义或类别变量
VarianceEstimatorFunctionAutomatic用于估计误差方差的函数
WeightsAutomatic数据元素的权重
WorkingPrecisionAutomatic内部计算所用的精度

LinearModelFit 的选项.

Weights 选项描述了加权线性回归的权值. NominalVariables 选项用来指定哪个预测变量应该作为名义变量或分类变量来处理. 用 NominalVariables->All 时,我们所用的是方差分析模型 (ANOVA) . 用 NominalVariables->{x1,…,xi-1,xi+1,…,xn} 时,我们所用的是协方差分析模型,除了第 个预测变量外,所有的预测变量都作为名义变量处理. 这里,名义变量是用一些代表与观察到的名义分类变量值相等或不相等关系的二进制变量来表示的.

ConfidenceLevelVarianceEstimatorFunctionWorkingPrecision 和初始拟合后的结果的计算相关. 这些选项可以在 LinearModelFit 里被设置,用以对由 FittedModel 对象所得的结果指定默认设置. 这些选项也可以在一个已经建立好的 FittedModel 对象里设置,用以重载最初赋给 LinearModelFit 的选项值.

以下是默认的和均方误差的方差估计:
In[10]:=
Click for copyable input
Out[10]=

IncludeConstantBasisLinearOffsetFunctionNominalVariablesWeights 只和拟合过程相关. 在一个已经建立好的 FittedModel 对象里设置这些选项将对结果没有进一步的影响.

模型拟合框架的主要特点是在拟合以后获取结果的能力. 所有这些结果的完整列表可以用 "Properties" 来得到.

采用下面的命令,我们可以得到线性模型的所有属性的数目:
In[11]:=
Click for copyable input
Out[11]=

这些属性包括数据、拟合模型和数值结果和诊断的基本信息.

"BasisFunctions"基函数列表
"BestFit"拟合函数
"BestFitParameters"参数估计
"Data"输入数据或设计矩阵和响应向量
"DesignMatrix"模型设计矩阵
"Function"最佳拟合纯函数
"Response"输入数据的响应值

和数据及拟合函数相关的属性.

"BestFitParameters" 属性给出拟合参数值 {β01,…}. "BestFit" 是拟合函数 而 "Function" 把拟合函数指定为一个纯函数. "BasisFunctions" 给出函数 的列表,其中当模型中有常量时, 为常量1. "DesignMatrix" 是数据的设计矩阵或模型矩阵. "Response" 给出响应列表或者帮助我们从原始数据得到 值.

"FitResiduals"实际响应和预测响应的差值
"StandardizedResiduals"拟合残差除以每个残差的标准误差
"StudentizedResiduals"拟合残差除以每个消除误差估计值

残差类别.

残差给我们提供了在拟合值和初始响应之间的点态差的度量. "FitResiduals" 给我们提供了观测值和拟合值之间的差值{y1-1,y2-2,…}. "StandardizedResiduals" 和 "StudentizedResiduals" 是残差的尺度化表示. 第  个标准化残差是 ,其中 是估计误差方差, 是帽子矩阵的第 个对角线元素,而 是第 个数据点的权值. 第  学生化残差采用同样的公式,只是把 (忽略掉第 个数据点的方差估计)来替代.

"ANOVATable"方差分析表
"ANOVATableDegreesOfFreedom"方差分析表(ANOVA)中的自由度
"ANOVATableEntries"表中数值的非格式化数组表示
"ANOVATableFStatistics"表中的 F 统计量
"ANOVATableMeanSquares"表中的均方误差
"ANOVATablePValues"表中的
"ANOVATableSumsOfSquares"表中的平方和
"CoefficientOfVariation"响应均值除以估计标准偏差
"EstimatedVariance"误差方差估计
"PartialSumOfSquares"当非常量基函数被删除后模型平方和的改变
"SequentialSumOfSquares"通过分支分割得到的模型平方和

和平方差误差相关的属性.

"ANOVATable" 给出了模型的格式化的方差分析表. "ANOVATableEntries" 给出了表中列出的数值,而另外剩下的 ANOVATable 属性给我们提供了表中的列元素,以便表的每个具体部分都可以在将来的计算中被方便地使用.

以上拟合模型的格式化方差分析表如下所示:
In[12]:=
Click for copyable input
Out[12]=
表的均方列元素如下所示:
In[13]:=
Click for copyable input
Out[13]=
"CorrelationMatrix"参数关联矩阵
"CovarianceMatrix"参数协方差矩阵
"EigenstructureTable"参数关联矩阵的特征结构
"EigenstructureTableEigenvalues"表的特征值
"EigenstructureTableEntries"表中数值的非格式化数组表示
"EigenstructureTableIndexes"表中的指标值
"EigenstructureTablePartitions"表中的划分
"ParameterConfidenceIntervals"参数置信区间
"ParameterConfidenceIntervalTable"拟合参数的置信区间信息表
"ParameterConfidenceIntervalTableEntries"表中数值的非格式化数组表示
"ParameterConfidenceRegion"椭圆参数置信区域
"ParameterErrors"参数估计的标准误差
"ParameterPValues"参数 统计量的
"ParameterTable"拟合参数信息表
"ParameterTableEntries"表中数值的非格式化数组形式
"ParameterTStatistics"参数估计的 统计量
"VarianceInflationFactors"估计参数的膨胀因子列表

参数估计的属性和诊断.

"CovarianceMatrix" 给我们提供了拟合参数之间的协方差. 相应地,矩阵是 sigma^^^2TemplateBox[{{(, X}}, Transpose]W X)^(-1),这里 是方差估计值, 是设计矩阵,而 是权值的对角化矩阵. "CorrelationMatrix" 是参数估计相应的相关矩阵. "ParameterErrors" 相当于协方差矩阵对角线元素的平方根.

"ParameterTable" 和 "ParameterConfidenceIntervalTable" 包括单个参数估计,参数的显著性检验和置信区间的信息.

这里有一些数据:
In[14]:=
Click for copyable input
用两个预测变量拟合模型如下:
In[15]:=
Click for copyable input
Out[15]=
下面是格式化参数和参数置信区间表:
In[16]:=
Click for copyable input
Out[16]=
下面, 我们在表中使用99% 置信区间:
In[17]:=
Click for copyable input
Out[17]=

表的估计列相当于 "BestFitParameters". t 统计量是除以标准误差后得到的估计值. 每个 p 值都是 t 统计量的双侧 p 值,而且可以用以评价参数估计是否显著地不同于0. 每个置信区间给我们提供了,在由 ConfidenceLevel 选项预订的置信水平上,参数置信区间的上界和下界. 不同的 ParameterTable 和ParameterConfidenceIntervalTable 属性可以用以从表中获得列或非格式化的数值数组.

"VarianceInflationFactors" 可以用来测量基函数间的多重共线性. 第 ^ 个膨胀因子相当于,其中 是把第  个基函数拟合成其他基函数的线性函数的变差系数. 采用 IncludeConstantBasis->True 设置时,第一个膨胀因子相应于常数项.

"EigenstructureTable" 给我们提供了非常数基函数的特征值,条件指标和方差划分. 指标列给我们提供了每个特征值和最大特征值之间比率的平方根. 每个基函数的列给我们提供了用相应特征向量解释的基函数中的变差比例. "EigenstructureTablePartitions" 给我们提供了表中所有基函数的方差划分值.

"BetaDifferences"测量对参数值影响的DFBETAS度量
"CatcherMatrix"捕集矩阵
"CookDistances"库克距离列表
"CovarianceRatios"测量观测值影响的COVRATIO度量
"DurbinWatsonD"自相关的杜宾-瓦特森 统计量
"FitDifferences"测量对预测值影响的DFFITS度量
"FVarianceRatios"测量观测数据影响的FVARATIO度量
"HatDiagonal"帽子矩阵的对角线元素
"SingleDeletionVariances"忽略第 个数据点的方差估计列表

和影响度量相联系的属性

影响因子的点态度量经常被用于评价每个单独的数据点是否对拟合产生大的影响. 帽子矩阵和捕集矩阵在这样的诊断分析中扮演重要角色. 帽子矩阵是满足 的矩阵 ,这里 是观测到的响应向量 而 是响应向量的预测值. "HatDiagonal" 给我们提供了帽子矩阵的对角线元素. "CatcherMatrix" 是满足 的矩阵 ,这里 是拟合参数向量.

"FitDifferences" 给出 DFFITS值,它提供了用于测量每个数据点对拟合或预测值影响的一个度量. 第  个DFFITS 值由 给出,其中 是第 个帽子对角元素值,而 是第 个学生化残差.

"BetaDifferences" 给出了DFBETAS值,它提供了用于测量每个数据点对于模型参数的影响的一个度量. 对于一个有 个参数的模型来说,"BetaDifferences" 的第  个元素是一个长度为 的列表,其中第 个值给我们提供了数据点 对于模型的第 个参数的影响的测量. 第 个 "BetaDifferences" 向量可以写成,其中 是捕集矩阵的第 个元素.

"CookDistances" 给我们提供了杠杆值的库克距离. 第 个库克距离由 给出,其中 是第 个标准残差.

"CovarianceRatios" 的第 个元素可以表示为 而第 个 "FVarianceRatios" 值等于 ,其中 是第 个单删除方差.

杜宾-瓦特森 统计量 "DurbinWatsonD" 用于检验一阶自回归过程的存在性. 统计量相当于 ,其中 是第 个残差.

上面双变量模型的库克距离图示如下:
In[18]:=
Click for copyable input
Out[18]=
"MeanPredictionBands"均值预测的置信带
"MeanPredictionConfidenceIntervals"均值预测的置信区间
"MeanPredictionConfidenceIntervalTable"均值预测的置信区间表
"MeanPredictionConfidenceIntervalTableEntries"表中数值的非格式化数组表示
"MeanPredictionErrors"均值预测的标准误差
"PredictedResponse"数据的拟合值
"SinglePredictionBands"基于单观测值的置信带
"SinglePredictionConfidenceIntervals"单观测值的预测响应的置信区间
"SinglePredictionConfidenceIntervalTable"单观测值的预测响应的置信区间表
"SinglePredictionConfidenceIntervalTableEntries"表中数据的非格式化数组表示
"SinglePredictionErrors"单观测值的预测响应的标准误差

预测值的属性

置信区间的表格化结果可以用 "MeanPredictionConfidenceIntervalTable" 和"SinglePredictionConfidenceIntervalTable" 得到. 这包括观测到得和预测到的响应值、标准误差估计和每个点的置信区间. 均值预测的置信区间经常被简单称为置信区间. 而单个的预测置信区间经常被称为为预测区间.

均值预测区间给出当预测者固定时响应值 的置信区间,并且由 给出,其中 是学生 分布的 分位数,自由度为 是在固定预测值上计算得到的基本函数构成的向量,而 是参数的估计协方差矩阵. 单个预测区间提供了当预测值固定时,对 值进行预测时的置信区间,并且由 给出,其中 是估计误差方差.

"MeanPredictionBands" 和 "SinglePredictionBands" 给出均值和单个预测置信区间的公式,这些公式由预测变量的函数表示.

下面是均值预测表:
In[19]:=
Click for copyable input
Out[19]=
如下是 90% 均值预测区间:
In[20]:=
Click for copyable input
Out[20]=
"AdjustedRSquared"根据模型参数数目调整的
"AIC"Akaike 信息量准则
"BIC"Bayesian 信息量准则
"RSquared"决定系数

拟合优度度量

优度检验度量用于评估一个模型拟合的效果或者用于比较模型. 决定系数 "RSquared" 是模型平方和和总平方和之间的比率. "AdjustedRSquared" 用以惩罚模型中所用的参数数目,它可以表示为 .

"AIC" 和 "BIC" 是基于似然方法的优度检验度量.两者都等于 乘以模型的对数似然值加上 ,这里 是包括估计方差的需要估计的参数数目. 对于 "AIC" k 是 ,而对于 "BIC" .

广义线性模型

线性模型可以被视为具有如下特点的模型:每个响应值 都等于一个服从正态分布的观测值,而该正态分布相应的均值是 . 广义线性模型则扩展成为 的形式,每个 值假定服从一个已知指数族形式的分布,该指数分布相应的均值是 ,而 是指数族支撑上的可逆函数. 这种类型的模型可以通过 GeneralizedLinearModelFit 得到.

GeneralizedLinearModelFit[{y1,y2,…},{f1,f2,…},x]获取一个具有基函数 fi 和一个单独的预测变量 x 的广义线性模型
GeneralizedLinearModelFit[{{x11,x12,…,y1},{x21,x22,…,y2}},{f1,f2,…},{x1,x2,…}]获取一个具有多个预测变量 xi 的广义线性模型
GeneralizedLinearModelFit[{m,v}]基于一个设计矩阵 m 和响应向量 v 获取一个广义线性模型

广义线性模型拟合

可逆函数 被称为链接函数. 而线性组合 则称为线性预测. 常见的特例包括有恒等关联函数和高斯或正态指数族分布的线性回归模型,概率的logit模型和probit模型,用来计数的泊松模型,还有伽马(gamma)和逆高斯模型.

误差方差是预测值 的函数,并且在相差一个被称为扩散参数的常量 的情况下由分布来定义. 我们可以把一个拟合值 的误差方差写作 ,这里 是从观测值和预测到的响应值得到的扩散参数的估计,而 是和在 求值的指数族相关联的方差函数.

下面是一个线性回归模型的拟合:
In[21]:=
Click for copyable input
Out[21]=
下面我们对同样的数据进行正则伽马回归模型的拟合.
In[22]:=
Click for copyable input
Out[22]=
下面是模型的函数形式.
In[23]:=
Click for copyable input
Out[23]=

Logit和probit模型是常见的概率二项模型. logit模型的链接函数是 而probit模型的链接是标准正态分布 的逆累积分布函数. 这种类型的模型可以通过GeneralizedLinearModelFit 利用ExponentialFamily->"Binomial" 和合适的 LinkFunction 或者通过 LogitModelFitProbitModelFit 进行拟合.

LogitModelFit[data,funs,vars]获取一个具有基本函数 funs 和预测变量 vars 的 logit 模型
LogitModelFit[{m,v}]获取一个基于设计矩阵 m 和响应向量 v 的 logit 模型
ProbitModelFit[data,funs,vars]获取一个对 data 进行拟合的 probit 模型
ProbitModelFit[{m,v}]获取一个对设计矩阵 m 和响应向量 v 进行拟合的 probit 模型

Logit 和 probit 模型拟合.

参数估计可以通过迭代重加权最小二乘算法获取,这里的权重可以通过设定的分布的方差函数获取. GeneralizedLinearModelFit 的选项包括:用于迭代拟合的选项(比如 PrecisionGoal )、用于模型描述的选项(比如 LinkFunction )和用于进一步分析的选项(比如 ConfidenceLevel ).

选项名
默认值
AccuracyGoalAutomatic目标准确度
ConfidenceLevel95/100参数和预测所用的置信水平
CovarianceEstimatorFunction"ExpectedInformation"参数协方差矩阵的估计方法
DispersionEstimatorFunctionAutomatic用以估计扩散参数的函数
ExponentialFamilyAutomaticy 的指数族分布
IncludeConstantBasisTrue是否要包括常量基函数
LinearOffsetFunctionNone在线性预测子里的已知偏移量
LinkFunctionAutomatic模型的链接函数
MaxIterationsAutomatic需要使用的最大迭代次数
NominalVariablesNone名义变量或分类变量
PrecisionGoalAutomatic目标精确度
WeightsAutomatic数据元素的权值
WorkingPrecisionAutomatic内部计算所用的精确度

GeneralizedLinearModelFit 的选项.

LogitModelFitProbitModelFit 的选项和 GeneralizedLinearModelFit 的相同,除了 ExponentialFamilyLinkFunction. 它们是由 logit 模型或 probit 模型定义的,所以它们不是 LogitModelFitProbitModelFit 的选项.

ExponentialFamily 可以是 "Binomial"、"Gamma"、"Gaussian"、"InverseGaussian"、"Poisson" 或是"QuasiLikelihood". 二项模型对于从0 到 1 的响应是有效的. 泊松模型对于非负整数响应是有效的. 高斯或正态模型对于实响应是有效的. 伽马模型和逆高斯模型对于正响应是有效的. 拟似然模型用方差异函数 的形式定义了一个分布结构,使得对第 个数据点的拟似然函数的对数值由 给出. 对于一个"QuasiLikelihood" 模型的方差函数可以通过ExponentialFamily->{"QuasiLikelihood", "VarianceFunction"->fun} 用选项的形式来设定,这里 fun 是一个将被用于拟合值的纯函数.

DispersionEstimatorFunction 定义了一个用于估计扩散参数 的函数. 估计值 与线性和非线性回归模型中的 相似.

ExponentialFamilyIncludeConstantBasisLinearOffsetFunctionLinkFunctionNominalVariablesWeights 都定义了模型结构和优化标准的一些方面,并且只能在 GeneralizedLinearModelFit 范围内被设定. 所有其他选项可以或者在 GeneralizedLinearModelFit 里被设定,或者当取得结果和诊断时被传递给 FittedModel 对象来设定. 在计算 FittedModel 对象时设置的选项优先于在拟合时给 GeneralizedLinearModelFit 的设置.

下面给出在伽马模型中参数的 95% 和 99% 置信区间.
In[24]:=
Click for copyable input
Out[24]=
"BasisFunctions"基函数列表
"BestFit"拟合函数
"BestFitParameters"参数估计
"Data"输入数据或者设计矩阵和响应向量
"DesignMatrix"模型的设计矩阵
"Function"最佳拟合纯函数
"LinearPredictor"拟合线性组合
"Response"输入数据里的响应值

与数据和拟合函数有关的属性

"BestFitParameters" 对基函数给出参数估计. "BestFit" 给出拟合函数 ,而 "LinearPredictor" 给出线性组合 . "BasisFunctions" 给出函数 的列表,其中当模型中有常量时, 为常量1. "DesignMatrix" 是基本函数的设计矩阵或模型矩阵.

"Deviances"偏差
"DevianceTable"偏差表
"DevianceTableDegreesOfFreedom"表中的自由度差
"DevianceTableDeviances"表中的偏差差值
"DevianceTableEntries"表中数据的非格式化数组表示
"DevianceTableResidualDegreesOfFreedom"表中的残差自由度
"DevianceTableResidualDeviances"表中的残差偏差
"EstimatedDispersion"估计的扩散参数
"NullDeviance"空(null)模型偏差
"NullDegreesOfFreedom"空(null)模型自由度
"ResidualDeviance"模型偏差和null偏差的差值
"ResidualDegreesOfFreedom"模型自由度和null自由度的差值

扩散和模型偏差有关的属性.

偏差和偏差表是对线性模型中的方差分析所给出的模型分解的推广. 一个单独的数据点的偏差是 ,其中 是拟合模型的对数似然函数. "Deviances" 给出所有数据点的偏差值列表. 而所有偏差值的和就是模型偏差. 模型偏差可以被分解,如同线性模型的方差分析表(ANOVA table)中的平方和那样. 完全模型是预测值与数据相同的模型.

下面是一些有两个预测变量的数据.
In[31]:=
Click for copyable input
下面对数据进行逆高斯模型的拟合.
In[32]:=
Click for copyable input
Out[32]=
下面是模型的偏差表.
In[33]:=
Click for copyable input
Out[33]=

同平方和一样,偏差是可加的. 表的偏差列告诉我们当加入给定的基函数时,模型偏差的增加值. 残差偏差列告诉我们模型偏差和包括表中前面所有项的子模型的偏差的差值. 对于大的样本,偏差增加值基本上近似于 分布,其自由度等于表中基函数的自由度.

"NullDeviance" 是空(null)模型中的偏差,常量模型等于包括一个常量的模型所有观测到的响应值的均值,或者如果没有包含常量项的话,它等于.

和 "ANOVATable" 一样,我们提供一系列的属性以便于从 "DevianceTable" 中获取列值或非格式化数组表示的表格数据.

"AnscombeResiduals"站点残差
"DevianceResiduals"偏差残差
"FitResiduals"实际响应和预测响应的差值
"LikelihoodResiduals"似然残差
"PearsonResiduals"皮尔森残差
"StandardizedDevianceResiduals"标准偏差残差
"StandardizedPearsonResiduals"标准化皮尔森残差
"WorkingResiduals"工作残差

残差类型.

"FitResiduals" 是残差(观测值和预测值的差值)列表. 在给定的分布假设下,残差的大小是作为预测响应值的函数改变的. 广义线性模型的分析中使用了各种类型的尺度化的残差.

如果 是第 个数据点的偏差和残差,则第 个偏差残差由 给出. 第 个皮尔逊残差被定义为 ,其中 是指数族分布的方差函数. 标准偏差残差和标准皮尔森残差包括除以 , 其中 是帽子矩阵的第 个对角线元素. "LikelihoodResiduals" 值把偏差和皮尔森残差组合起来. 第 个似然残差可以表示为.

"AnscombeResiduals" 给我们提供了将残差正态化的一种转变, 所以可以预期这些残差的概率图大致看起来像白噪声. 第 个站点残差可以写作 .

"WorkingResiduals" 给出从迭代拟合最后一步得到的残差. 第 个工作残差可以从 取值得到.

下面是逆高斯模型的残差和站点残差图.
In[41]:=
Click for copyable input
Out[41]=
"CorrelationMatrix"渐近参数相关矩阵
"CovarianceMatrix"渐近参数协方差矩阵
"ParameterConfidenceIntervals"参数置信区间
"ParameterConfidenceIntervalTable"拟合参数置信区间表
"ParameterConfidenceIntervalTableEntries"表中数值的非格式化数组表示
"ParameterConfidenceRegion"椭圆参数置信区域
"ParameterTableEntries"表中数值的非格式化数组表示
"ParameterErrors"参数估计的标准误差
"ParameterPValues"参数 统计量的
"ParameterTable"拟合参数信息表
"ParameterZStatistics"参数估计的 统计量

参数估计的属性和诊断.

"CovarianceMatrix" 给我们提供了拟合参数间的协方差,它和线性模型中的定义十分相似. 在CovarianceEstimatorFunction->"ExpectedInformation" 设置下,启用从迭代拟合得到的预期信息量矩阵. 该矩阵为 phi^^TemplateBox[{{(, X}}, Transpose]W X)^(-1),其中 是设计矩阵而 是从最后一步拟合得到的权值对角矩阵. 这些权值既包括由Weights 选项描述的权值也包括与分布的方差函数相关的权值. 采用 CovarianceEstimatorFunction->"ObservedInformation" 设置时,矩阵由 给出,其中 是观察到的 Fisher 信息量矩阵,该矩阵是和模型参数有关的对数似然函数的Hessian矩阵.

"CorrelationMatrix" 是和参数估计相关的相关系数矩阵. "ParameterErrors" 和协方差矩阵的对角线元素的平方根等价. "ParameterTable" 和 "ParameterConfidenceIntervalTable" 包含单个参数估计,参数检验的显著性,以及置信区间的信息. 对于广义线性模型的测试统计量来说,它渐近地服从正态分布.

"CookDistances"库克距离列表
"HatDiagonal"帽子矩阵的对角线元素

和影响度量相关联的属性.

"CookDistances" 和 "HatDiagonal" 把杠杆度量从线性回归扩展到广义线性模型. 用来获取对角线元素的帽子矩阵采用迭代拟合的最终权值来定义.

对杠杆值的库克距离度量的定义和线性回归类似,除了把标准化残差用标准化皮尔森残差取代. 第 个库克距离可以表示为 ,其中 是第 个标准化皮尔森残差.

"PredictedResponse"数据拟合值

预测值的属性.

"AdjustedLikelihoodRatioIndex"Ben‐Akiva 和 Lerman 调整似然比指标
"AIC"赤池信息量准则(AIC)
"BIC"贝叶斯信息量准则(BIC)
"CoxSnellPseudoRSquared"Cox 和 Snell 伪
"CraggUhlerPseudoRSquared"Cragg 和 Uhler 伪
"EfronPseudoRSquared"Efron 伪
"LikelihoodRatioIndex"McFadden 似然比指标
"LikelihoodRatioStatistic"似然比
"LogLikelihood"拟合模型的对数似然值
"PearsonChiSquare"皮尔森 统计量

拟合优度度量.

"LogLikelihood" 是拟合模型的对数似然值. "AIC" 和 "BIC" 是被惩罚的对数似然度量方法 , 其中 是拟合模型的对数似然值, 是估计参数数目(包括了扩散参数),对于一个有 个数据点的模型来说,对 "AIC" , ,而对 "BIC" , 是 是 . "LikelihoodRatioStatistic" 由 给出,其中 是空(null) 模型的对数似然值.

许多优度检验方法把 从线性回归推广为或是可解释变差的度量,或是一个基于似然方法的度量. "CoxSnellPseudoRSquared" 由 给出. "CraggUhlerPseudoRSquared" 是 Cox 和 Snell 度量的尺度化版本 . "LikelihoodRatioIndex" 包含了对数似然比 , 而 "AdjustedLikelihoodRatioIndex" 利用惩罚参数数目来调整 . "EfronPseudoRSquared" 利用 的平方和解释,并且可以表示为 ,其中 是第 个残差而 是响应 的均值.

"PearsonChiSquare" 等于 , 其中 是皮尔森残差.

非线性模型

一个非线性最小二乘模型是线性模型的一个扩展,这里模型可以不是基函数的线性组合. 误差仍然可以假设为独立和呈正态分布的. 这种类型的模型可以用 NonlinearModelFit 函数拟合.

NonlinearModelFit[{y1,y2,…},form,{β1,…},x]获取一个具有包含参数 βi 的函数 form 和一个单参数预测变量 x 的非线性模型
NonlinearModelFit[{{x11,…,y1},{x21,…,y2}},form,{β1,…},{x1,…}]获取一个作为具有多个预测变量 xi 的函数的非线性模型
NonlinearModelFit[data,{form,cons},{β1,…},{x1,…}]获取一个受 cons 约束的非线性模型

非线性模型拟合.

非线性模型的形式为 ,其中 是拟合或预测值, 是要拟合的参数,而 是预测变量. 和任何非线性优化问题相同,我们有必要对参数选择一个良好的初始值. 我们可以设置一个和 FindFit 的参数指定相同的初始值.

对一个平方根数列进行非线性模型的拟合.
In[25]:=
Click for copyable input
Out[25]=

在这里,我们还提供了用于模型拟合和模型分析的选项.

选项名
默认值
AccuracyGoalAutomatic目标准确度
ConfidenceLevel95/100用于参数和预测的置信水平
EvaluationMonitorNone每次 expr 被计算时都要计算的表达式
MaxIterationsAutomatic所用的最大迭代次数
MethodAutomatic所用的方法
PrecisionGoalAutomatic目标精确度
StepMonitorNone每采取一个步骤时都要计算的表达式
VarianceEstimatorFunctionAutomatic估计误差方差的函数
WeightsAutomatic数据元素的权重
WorkingPrecisionAutomatic用于内部计算的精确度

NonlinearModelFit 的选项.

一般数值选项比如 AccuracyGoalMethodWorkingPrecisionFindFit 相同.

Weights 选项用于指定加权线性回归里的权值. 最优拟合是针对一个误差加权平方和的.

所有其他选项和初拟合后结果的计算相关. 它们可以在 NonlinearModelFit 里设置,用于拟合过程及对从FittedModel 对象得到的结果设置默认值. 这些选项页可以在一个已经建立好的 FittedModel 对象里设置,用以重载最初赋给 NonlinearModelFit 的选项值.

"BestFit"拟合函数
"BestFitParameters"参数估计
"Data"输入数据
"Function"最佳拟合纯函数
"Response"输入数据的响应值

和数据以及拟合函数相关的属性.

数据和非线性模型的拟合函数的基本属性和线性及广义线性模型的相同属性具有相同的行为特点,不同的是正如 FindFit 的结果一样 "BestFitParameters" 返回一个规则.

下面提供了拟合函数和参数估计的规则.
In[26]:=
Click for copyable input
Out[26]=

非线性模型的许多诊断扩展或推广了线性回归的概念. 这些扩展经常依赖于线性近似或大样本近似.

"FitResiduals"实际响应和预测响应间的差值
"StandardizedResiduals"拟合残差除以每个残差的标准误差
"StudentizedResiduals"拟合残差除以单消除误差估计

残差类别.

和线性回归中一样,"FitResiduals" 给我们提供了观测值和预测值之间的差值 ,并且, "StandardizedResiduals" 和 "StudentizedResiduals" 是这些差值的尺度化表示.

个标准化残差是 ,其中 是估计误差方差, 是帽子矩阵的第 个对角线元素,而 是第 个数据点的权值,而第 个学生化残差可以用第 个单消除方差 取代 得到. 对于非线性模型,一个一级近似被用于设计矩阵,该矩阵是计算帽子矩阵所需要的.

"ANOVATable"方差分析表
"ANOVATableDegreesOfFreedom"方差分析表中的自由度
"ANOVATableEntries"表中数值的非格式化表示
"ANOVATableMeanSquares"表中的均方误差
"ANOVATableSumsOfSquares"表中的平方和
"EstimatedVariance"误差方差估计

和误差平方和相关的属性.

"ANOVATable" 对于可归结于拟合函数和误差或残差的数据提供了一种变差分解.

下面是非线性模型的方差分析表(ANOVA table).
In[27]:=
Click for copyable input
Out[27]=

未改正的平方和的总和给我们提供了响应平方和,而改正后的总和给我们提供了响应和它们平均值差值的平方和.

"CorrelationMatrix"渐近参数相关系数矩阵
"CovarianceMatrix"渐近参数协方差矩阵
"ParameterBias"参数估计的估计偏移量
"ParameterConfidenceIntervals"参数置信区间
"ParameterConfidenceIntervalTable"拟合参数置信区间表
"ParameterConfidenceIntervalTableEntries"表中数值的非格式化数组表示
"ParameterConfidenceRegion"椭圆参数置信区域
"ParameterErrors"参数估计的标准误差
"ParameterPValues"参数 统计量的
"ParameterTable"拟合参数信息表
"ParameterTableEntries"表中数值的非格式化数组表示
"ParameterTStatistics"参数估计的 统计量

参数估计的属性和诊断.

"CovarianceMatrix" 给我们提供了拟合参数间的近似协方差. 矩阵表示为 sigma^^^2TemplateBox[{{(, X}}, Transpose]W X)^(-1),其中 是方差估计, 是模型线性近似的设计矩阵,而 是权值的对角矩阵. "CorrelationMatrix" 是参数估计的关联相关矩阵. "ParameterErrors" 相当于协方差矩阵的对角线元素的平方根.

"ParameterTable" 和 "ParameterConfidenceIntervalTable" 包含单个参数估计,参数显著性测试,以及用误差估计所取得的置信区间的所有信息.

"CurvatureConfidenceRegion"曲率诊断的置信区域
"FitCurvatureTable"曲率诊断表
"FitCurvatureTableEntries"表中数据相应的非格式化数组
"MaxIntrinsicCurvature"最大内在曲率的度量
"MaxParameterEffectsCurvature"最大参数效果曲率的度量

曲率诊断.

用于许多诊断的一级近似和具有线性参数的模型是等价的. 如果接近参数估计值的参数空间足够平,那么线性近似和任何依赖于一级近似的结果都可以被视为合理的. 曲率诊断被用于评价线性近似是否合理. "FitCurvatureTable" 给我们提供了一个曲率诊断表格.

"MaxIntrinsicCurvature" 和 "MaxParameterEffectsCurvature" 是参数空间在最佳参数值附近的法向和切向曲率的尺度化度量. "CurvatureConfidenceRegion" 是参数空间在最佳参数值附近的曲率半径的尺度化度量. 如果法向和切向曲率相对于 "CurvatureConfidenceRegion" 的值都较小的话,线性近似可以被认为是合适的. 有些经验法则建议直接和 "CurvatureConfidenceRegion" 值进行比较,而另一些则建议和该值的一半进行比较.

上面非线性模型的曲率表如下:
In[28]:=
Click for copyable input
Out[28]=
"HatDiagonal"帽子矩阵的对角元素
"SingleDeletionVariances"忽略第 个数据点的方差估计列表

和影响度量相联系的属性.

帽子矩阵是满足 的矩阵 ,其中 是观测到得响应向量,而 是预测到得响应向量. "HatDiagonal" 给我们提供了帽子矩阵的对角线元素. 和其他属性相同, 采用模型的线性近似的设计矩阵.

"SingleDeletionVariances" 的第 个元素相当于 ,其中 是数据点的数目, 是参数数目, 是帽子矩阵的第 个对角元, 是整个数据集的方差估计,而 是第 个残差.

"MeanPredictionBands"预测均值的置信带
"MeanPredictionConfidenceIntervals"预测均值的置信区间
"MeanPredictionConfidenceIntervalTable"预测均值置信区间表
"MeanPredictionConfidenceIntervalTableEntries"表中数据的非格式化数组表示
"MeanPredictionErrors"预测均值的标准差
"PredictedResponse"数据的拟合值
"SinglePredictionBands"基于单个观测值的置信带
"SinglePredictionConfidenceIntervals"单个观测值的预测响应的置信区间
"SinglePredictionConfidenceIntervalTable"单个观测值的预测响应的置信区间表
"SinglePredictionConfidenceIntervalTableEntries"表中数据的非格式化数组表示
"SinglePredictionErrors"单个的观测值的预测响应的标准差

预测值的属性

置信区间的结果的表格由"MeanPredictionConfidenceIntervalTable" 和 "SinglePredictionConfidenceIntervalTable" 给出. 这些结果和通过LinearModelFit 求得的线性模型的结果类似,对于设计矩阵,同样采用一级近似.

"MeanPredictionBands" 和 "SinglePredictionBands" 为我们提供了预测变量的函数.

我们可以用以下方法求得拟合函数和均值预测带.
In[29]:=
Click for copyable input
Out[29]=
拟合曲线和置信带如下图所示.
In[30]:=
Click for copyable input
Out[30]=
"AdjustedRSquared"对参数数目进行调整了的
"AIC"Akaike 信息量准则
"BIC"Bayesian 信息量准则
"RSquared"决定系数

拟合优度度量.

"AdjustedRSquared"、"AIC"、"BIC" 和 "RSquared" 都是线性模型中度量的直接延伸. 决定系数 "RSquared" 是 ,其中 是残差平方和, 是未修正的总平方和. 非线性模型的决定系数不象在线性模型中那样被解释成为解释方差的百分比,因为模型的平方和加上残差的平方和不一定等于总平方和. "AdjustedRSquared" 用以惩罚模型中所用的参数数目,它可以表示为 .

"AIC" 和 "BIC" 等于 乘以模型的对数似然值加上 ,其中 是包括估计方差的需要估计的参数数目. 对于 "AIC",,而对于 "BIC",.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多