类 GWRLocalCollinearity

继承关系

基类

类文档

class GWRLocalCollinearity : public gwm::GWRBase, public gwm::IBandwidthSelectable, public gwm::IParallelizable, public gwm::IParallelOpenmpEnabled

局部岭回归地理加权模型

公有类型

enum BandwidthSelectionCriterionType

带宽优选指标值类型。

Values:

enumerator CV

CV

typedef double (GWRLocalCollinearity::* BandwidthSelectionCriterionCalculator)(BandwidthWeight*)

带宽优选指标值计算函数

typedef arma::mat (GWRLocalCollinearity::* FitCalculator)(const arma::mat&, const arma::vec&)

用于预测的函数

typedef arma::mat (GWRLocalCollinearity::* PredictCalculator)(const arma::mat&, const arma::mat&, const arma::vec&)

用于预测的函数

公有方法

GWRLocalCollinearity()

构造一个新的 GWRLocalCollinearity 对象。

~GWRLocalCollinearity()

销毁 GWRLocalCollinearity 对象。

inline double cnThresh() const

获取阈值

返回

double 阈值

inline void setCnThresh(double cnThresh)

设置阈值

参数

cnThresh – 阈值

inline double lambda() const

获取参数 lambda 的值

返回

double 参数 lambda 的值

inline void setLambda(double lambda)

设置参数 lambda 的值

参数

lambda – 参数 lambda 的值

inline bool hasHatMatrix() const

获取是否有帽子矩阵。

返回

true 是

返回

false 否

inline void setHasHatMatrix(bool value)

设置是否有帽子矩阵。

参数

flag – 是否有帽子矩阵。

inline bool lambdaAdjust() const

获取是否调整 lambda 值。

返回

true

返回

false

inline void setLambdaAdjust(bool lambdaAdjust)

设置是否调整 lambda 值。

参数

lambdaAdjust – 是否调整 lambda 值

inline RegressionDiagnostic dialnostic() const
inline bool isAutoselectBandwidth() const

获取是否进行带宽优选。

返回

true 是

返回

false 否

inline void setIsAutoselectBandwidth(bool isAutoSelect)

设置是否进行带宽优选。

参数

flag – 是否进行带宽优选

inline BandwidthCriterionList bandwidthSelectionCriterionList() const

获取每种带宽对应的指标值列表。

返回

BandwidthCriterionList 每种带宽对应的指标值列表

inline BandwidthSelectionCriterionType bandwidthSelectionCriterion() const

获取带宽优选指标类型。

返回

BandwidthCriterionType 带宽优选指标类型

void setBandwidthSelectionCriterion(const BandwidthSelectionCriterionType &criterion)

设置带宽优选指标类型。

参数

type – 带宽优选指标类型

inline virtual double getCriterion(BandwidthWeight *weight) override

根据指定的带宽计算带宽优选的指标值。

参数

weight – 指定的带宽。

返回

double 带宽优选的指标值。

virtual arma::mat fit() override

拟合回归系数估计值。

返回

mat 回归系数估计值。

virtual arma::mat predict(const arma::mat &locations) override

在指定位置处进行回归系数预测。

参数

locations – 指定位置。

返回

mat 回归系数预测值。

inline virtual int parallelAbility() const override

返回该算法的并行能力。

返回

当前算法并行能力的按位或运算结果。

inline virtual ParallelType parallelType() const override

返回当前算法的并行类型。

返回

当前算法的并行类型。

virtual void setParallelType(const ParallelType &type) override

设置当前算法的并行类型。

参数

type – 当前算法的并行类型。

inline virtual void setOmpThreadNum(const int threadNum) override

设置并行线程数。

参数

threadNum – 并行线程数。

公有静态方法

static RegressionDiagnostic CalcDiagnostic(const arma::mat &x, const arma::vec &y, const arma::mat &betas, const arma::vec &shat)

计算诊断信息。

参数
  • x – 自变量

  • y – 因变量

  • betas – 回归系数估计值

  • shat – 一个包含 \(S\)\(S'S\) 矩阵迹的向量

返回

RegressionDiagnostic 诊断信息

保护方法

double LcrCV(double bw, arma::uword kernel, bool adaptive, double lambda, bool lambdaAdjust, double cnThresh)

返回cv的函数

参数
  • bw

  • kernel

  • adaptive

  • lambda

  • lambdaAdjust

  • cnThresh

返回

double

arma::vec ridgelm(const arma::vec &w, double lambda)

岭回归。

参数
  • w

  • lambda

返回

arma::vec

保护属性

BandwidthCriterionList mBandwidthSelectionCriterionList
BandwidthSelectionCriterionType mBandwidthSelectionCriterion = BandwidthSelectionCriterionType::CV
BandwidthSelectionCriterionCalculator mBandwidthSelectionCriterionFunction = &GWRLocalCollinearity::bandwidthSizeCriterionCVSerial