类 GWRLocalCollinearity
继承关系
基类
public gwm::GWRBase(类 GWRBase)public gwm::IBandwidthSelectable(结构体 IBandwidthSelectable)public gwm::IParallelizable(结构体 IParallelizable)public gwm::IParallelOpenmpEnabled(结构体 IParallelOpenmpEnabled)
类文档
-
class GWRLocalCollinearity : public gwm::GWRBase, public gwm::IBandwidthSelectable, public gwm::IParallelizable, public gwm::IParallelOpenmpEnabled
局部岭回归地理加权模型
公有类型
-
typedef double (GWRLocalCollinearity::* BandwidthSelectionCriterionCalculator)(const std::unique_ptr<BandwidthWeight>&)
带宽优选指标值计算函数
-
typedef arma::mat (GWRLocalCollinearity::* FitCalculator)(const arma::mat&, const arma::vec&, arma::vec&, 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 arma::vec localCN() const
-
inline arma::vec localLambda() const
-
inline bool isAutoselectBandwidth() const
获取是否进行带宽优选。
- 返回:
true 是
- 返回:
false 否
-
inline void setIsAutoselectBandwidth(bool isAutoSelect)
设置是否进行带宽优选。
- 参数:
flag -- 是否进行带宽优选
-
inline const BandwidthCriterionList &bandwidthSelectionCriterionList() const
获取每种带宽对应的指标值列表。
- 返回:
BandwidthCriterionList 每种带宽对应的指标值列表
-
inline BandwidthSelectionCriterionType bandwidthSelectionCriterion() const
获取带宽优选指标类型。
- 返回:
BandwidthCriterionType 带宽优选指标类型
-
void setBandwidthSelectionCriterion(const BandwidthSelectionCriterionType &criterion)
设置带宽优选指标类型。
- 参数:
type -- 带宽优选指标类型
-
inline virtual Status getCriterion(const std::unique_ptr<BandwidthWeight> &bandwidthWeight, double &criterion) override
根据指定的带宽计算带宽优选的指标值。
- 参数:
weight -- 指定的带宽。
criterion -- [出参] 带宽优选的指标值。
Status -- 算法运行状态。
-
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 诊断信息
保护方法
-
arma::vec ridgelm(const arma::vec &w, double lambda)
岭回归。
- 参数:
w --
lambda --
- 返回:
arma::vec
保护属性
-
BandwidthCriterionList mBandwidthSelectionCriterionList
-
BandwidthSelectionCriterionType mBandwidthSelectionCriterion = BandwidthSelectionCriterionType::CV
-
BandwidthSelectionCriterionCalculator mBandwidthSelectionCriterionFunction = &GWRLocalCollinearity::bandwidthSizeCriterionCVSerial
-
double mBandwidthLastCriterion = DBL_MAX
上一次带宽优选的有效指标值。
-
typedef double (GWRLocalCollinearity::* BandwidthSelectionCriterionCalculator)(const std::unique_ptr<BandwidthWeight>&)