类 GWSS
定义于 文件 GWSS.h
继承关系
基类
public gwm::SpatialMonoscaleAlgorithm
(类 SpatialMonoscaleAlgorithm)public gwm::IMultivariableAnalysis
(结构体 IMultivariableAnalysis)public gwm::IParallelizable
(结构体 IParallelizable)public gwm::IParallelOpenmpEnabled
(结构体 IParallelOpenmpEnabled)
类文档
-
class GWSS : public gwm::SpatialMonoscaleAlgorithm, public gwm::IMultivariableAnalysis, public gwm::IParallelizable, public gwm::IParallelOpenmpEnabled
地理加权汇总统计分析算法类。 地理加权汇总统计是计算局部加权统计值的方法。 可计算的统计值包括: local mean, local standard deviation, local variance, local skewness, local coefficients of variation, local covariances, local correlations (Pearson’s), local correlations (Spearman’s), local medians, local interquartile ranges, local quantile imbalances and coordinates. 使用下面这些函数获取上述值:
local mean <- GWSS::localMean()
local standard deviation <- GWSS::localSDev()
local variance <- GWSS::localVar()
local skewness <- GWSS::localSkewness()
local coefficients of variation <- GWSS::localCV()
local covariances <- GWSS::localCov()
local correlations (Pearson’s) <- GWSS::localCorr()
local correlations (Spearman’s) <- GWSS::localSCorr()
local medians <- GWSS::localMedian()
local interquartile ranges <- GWSS::iqr()
local quantile imbalances and coordinates <- GWSS::qi()
公有成员函数
-
inline GWSS(const arma::mat x, const arma::mat coords, const SpatialWeight &spatialWeight)
构造一个新的 GWSS 对象。
-
inline bool quantile() const
获取是否使用基于排序的算法。
- 返回
true 使用基于排序的算法
- 返回
false 不使用基于排序的算法
-
inline void setQuantile(bool quantile)
设置是否使用基于排序的算法
- 参数
quantile – 是否使用基于排序的算法
-
inline bool isCorrWithFirstOnly() const
获取是否仅为第一个变量计算与其他变量的相关系数
- 返回
true 是
- 返回
false 否
-
inline void setIsCorrWithFirstOnly(bool corrWithFirstOnly)
设置是否仅为第一个变量计算与其他变量的相关系数
- 参数
corrWithFirstOnly – 是否仅为第一个变量计算与其他变量的相关系数
-
inline arma::mat localMean() const
获取每个样本的局部均值。
- 返回
每个样本的局部均值
-
inline arma::mat localSDev() const
获取每个样本的局部标准差。
- 返回
每个样本的局部标准差
-
inline arma::mat localSkewness() const
获取每个样本的局部偏度。
- 返回
每个样本的局部偏度
-
inline arma::mat localCV() const
获取每个样本的局部变化系数。
- 返回
每个样本的局部变化系数
-
inline arma::mat localVar() const
获取每个样本的局部方差。
- 返回
每个样本的局部方差
-
inline arma::mat localMedian() const
获取每个样本的局部中位数。
- 返回
每个样本的局部中位数
-
inline arma::mat iqr() const
获取每个样本的局部四分位距。
- 返回
每个样本的局部四分位距
-
inline arma::mat qi() const
获取每个样本的局部分位数不平衡度。
- 返回
每个样本的局部分位数不平衡度
-
inline arma::mat localCov() const
获取局部协方差。
- 返回
局部协方差。 如果 corrWithFirstOnly 设置为 true ,则共有 字段数 - 1 列; 否则,有 ((字段数 - 1) * 字段数) / 2 列。 对于变量 \(v_1, v_2, v_3, ... , v_{k-1}, v_k\) 返回字段按如下方式排序: \(cov(v_1,v_2), cov(v_1,v_3), ... , cov(v_1,v_k), cov(v_2,v_3), ... , cov(v_2,v_k), ... , cov(v_{k-1},vk)\)
-
inline arma::mat localCorr() const
获取局部皮尔逊相关系数。
- 返回
局部皮尔逊相关系数。 如果 corrWithFirstOnly 设置为 true ,则共有 字段数 - 1 列; 否则,有 ((字段数 - 1) * 字段数) / 2 列。 对于变量 \(v_1, v_2, v_3, ... , v_{k-1}, v_k\) 返回字段按如下方式排序: \(corr(v_1,v_2), corr(v_1,v_3), ... , corr(v_1,v_k), corr(v_2,v_3), ... , corr(v_2,v_k), ... , corr(v_{k-1},vk)\)
-
inline arma::mat localSCorr() const
获取局部斯皮尔曼相关系数。
- 返回
局部斯皮尔曼相关系数。 如果 corrWithFirstOnly 设置为 true ,则共有 字段数 - 1 列; 否则,有 ((字段数 - 1) * 字段数) / 2 列。 对于变量 \(v_1, v_2, v_3, ... , v_{k-1}, v_k\) 返回字段按如下方式排序: \(corr(v_1,v_2), corr(v_1,v_3), ... , corr(v_1,v_k), corr(v_2,v_3), ... , corr(v_2,v_k), ... , corr(v_{k-1},vk)\)
-
virtual bool isValid() override
检查算法配置是否合法。
- 返回
true 如果算法配置是合法的。
- 返回
false 如果算法配置不合法。
-
inline virtual arma::mat variables() const override
Get variables.
- 返回
Vector of variables.
-
inline virtual void setVariables(const arma::mat &x) override
Set variables.
- 参数
variables – Vector of variables.
-
virtual void run() override
Run analysis algorithm.
-
inline virtual int parallelAbility() const override
返回该算法的并行能力。
- 返回
当前算法并行能力的按位或运算结果。
-
inline virtual ParallelType parallelType() const override
返回当前算法的并行类型。
- 返回
当前算法的并行类型。
-
virtual void setParallelType(const ParallelType &type) override
Set the parallel type of this algorithm.
Use gwmodel_set_gwss_openmp() to set parallel type of this algorithm to ParallelType::OpenMP in shared build.
- 参数
type – Parallel type of this algorithm.
-
inline virtual void setOmpThreadNum(const int threadNum) override
Set the thread numbers while paralleling.
Use gwmodel_set_gwss_openmp() to set this property in shared build.
- 参数
threadNum – Number of threads.
公有静态方法
-
static inline double covwt(const arma::mat &x1, const arma::mat &x2, const arma::vec &w)
计算两个矩阵的加权协方差。
- 参数
x1 – 矩阵 \( X_1 \)
x2 – 矩阵 \( X_2 \)
w – 权重向量 \( w \)
- 返回
加权协方差
\[ cov(X_1,X_2) = \frac{\sum_{i=1}^n w_i(x_{1i} - \bar{x}_1) \sum_{i=1}^n w_i(x_{2i} - \bar{x}_2)}{1 - \sum_{i=1}^n w_i} \]
-
static inline double corwt(const arma::mat &x1, const arma::mat &x2, const arma::vec &w)
计算两个矩阵的加权相关系数。
- 参数
x1 – 矩阵 \( X_1 \)
x2 – 矩阵 \( X_2 \)
w – 权重向量 \( w \)
- 返回
-
static arma::vec del(arma::vec x, arma::uword rowcount)
-
static inline arma::vec rank(arma::vec x)
保护静态方法
-
static arma::vec findq(const arma::mat &x, const arma::vec &w)