我试图使用R中的HTS包创建节点结构,关于节点的文档很稀疏,因此要对节点结构进行适当的编码是很困难的,并且要添加一个添加的层,我正在尝试创建两个层次结构,我们有以下两个层次结构:
(等级1-地理:美国特拉华州及其各县为例)
=> 10000
=> 10001
=> 10003
=> 10005
=> 10999(等级2-工业:简化)
=> 10
=> 11
=> 12
=> 21
=> 22
=> 31
...
=> 99编辑2-修正的层次结构和进一步的澄清
所以每个时刻表都有一个地理代码和一个行业代码。地理代码遵循一个层次结构,行业代码遵循另一个层次(如上文所示)。
我试图弄清楚如何指定“节点”参数来表示两个层次结构的关系(文档示例只显示一个层次结构)。
当两个层次结构相互作用时,我们会得到额外的级别。让我们简化一下,假设只有两个行业,11和12。由(10001,11)和(10001,12)确定的时间序列必须加起来为(10001,10);还有(10001,11).(10999,11)必须加到(10000,11)等等,等等,这些都是简化的层次结构--在实际数据中有更多的层次。
问题是,对于两个层次结构,“节点”参数看起来如何?希望这能有所帮助。
发布于 2014-06-13 05:17:22
您的符号(这可能不是您的选择)正在使这非常混乱。似乎相同的数字序列可以指一个县或一个行业。
但是,基本思想非常清楚:您有两个层次结构,并且希望考虑这两种类型的聚合。这里有一个使用我自己的表示法来使它更清晰的例子。
假设有两个州分别有四个县和五个县,两个工业分别有三个和两个子产业。因此,有9x5系列在最细分的层次(分行业x县组合)。我将给A州和B州以及A1、A2、A3、A4和B1、B2、B3、B4、B5等州打电话。我会把X和Y分别命名为分行业Xa,Xb,Xc和Ya,Yb .假设矩阵y中有最底层的系列(最细分的级别),每个序列有一列,列按以下顺序排列:
County A1, industry Xa
County A1, industry Xb
County A1, industry Xc
County A1, industry Ya
County A1, industry Yb
County A2, industry Xa
County A2, industry Xb
County A2, industry Xc
County A2, industry Ya
County A2, industry Yb
...
County B5, industry Xa
County B5, industry Xb
County B5, industry Xc
County B5, industry Ya
County B5, industry Yb因此,我们有一个可重复的例子,我将随机创建y:
y <- ts(matrix(rnorm(900),ncol=45,nrow=20))然后,我们可以为这个矩阵的列构造如下的标签:
blnames <- paste(c(rep("A",20),rep("B",25)), # State
rep(1:9,each=5), # County
rep(c("X","X","X","Y","Y"),9), # Industry
rep(c("a","b","c","a","b"),9), # Sub-industry
sep="")
colnames(y) <- blnames例如,矩阵中的第一个系列的名称为"A1Xa",意思是状态A、县1、行业X、子行业a。
然后,我们可以轻松地创建分组时间序列对象
gy <- gts(y, characters=list(c(1,1),c(1,1)))characters参数表示存在两个层次结构(列表中的两个元素),第一个层次结构由前两个字符指定,第二个层次结构由第二个字符指定。
在gts包v4.3中的帮助文件中给出了一个稍微复杂但类似的例子(每个标签都包含多个字符)。
可以在不使用列标签的情况下指定分组结构。然后,您必须指定组矩阵,它定义了哪些聚合是感兴趣的。在上面的例子中,组矩阵是由
gps <- rbind(
c(rep(1,20),rep(2,25)), # State
rep(1:9,each=5), # County
rep(c(1,1,1,2,2),9), # Industry
rep(1:5, 9), # Sub-industry
c(rep(c(1,1,1,2,2),4),rep(c(3,3,3,4,4),5)), # State x industry
c(rep(1:5, 4),rep(6:10, 5)), # State x Sub-industry
rep(1:18, rep(c(3,2),9)) # County x industry
)然后
gy <- gts(y, groups=gps)与characters参数一起使用列名方法要容易得多,因为构造所有这些跨产品行可能会引起混淆。
https://stackoverflow.com/questions/24191537
复制相似问题