问题
这是教科书上的一个例子。然而,我得到了不同的答案。
示例:
当传输速率为0.14时,其(随机)转移概率矩阵在以下。这个矩阵的pagerank向量是
> P = [0.05 0.04 0.11 0.25 0.21 0.04 0.31].转移概率矩阵
A =
0.0200 0.0200 0.8800 0.0200 0.0200 0.0200 0.0200
0.0200 0.4500 0.4500 0.0200 0.0200 0.0200 0.0200
0.3100 0.0200 0.3100 0.3100 0.0200 0.0200 0.0200
0.0200 0.0200 0.0200 0.4500 0.4500 0.0200 0.0200
0.0200 0.0200 0.0200 0.0200 0.0200 0.0200 0.8800
0.0200 0.0200 0.0200 0.0200 0.0200 0.4500 0.4500
0.0200 0.0200 0.0200 0.3100 0.3100 0.0200 0.3100我的尝试
我用MATLAB解决了这个问题。有传送的真正矩阵是
> A' = A * (1 - 0.14) + 0.14 * 1 / 7然后我试着计算特征向量。
> [V,D] = eig(A')eigenvalue=1的特征向量就是答案。但是我得到了
> [0.1751 0.1377 0.3550 0.5137 0.4255 0.1377 0.6005].我做错了什么?以下是相应的MATLAB输出:
>> A' =
0.0372 0.0372 0.7768 0.0372 0.0372 0.0372 0.0372
0.0372 0.4070 0.4070 0.0372 0.0372 0.0372 0.0372
0.2866 0.0372 0.2866 0.2866 0.0372 0.0372 0.0372
0.0372 0.0372 0.0372 0.4070 0.4070 0.0372 0.0372
0.0372 0.0372 0.0372 0.0372 0.0372 0.0372 0.7768
0.0372 0.0372 0.0372 0.0372 0.0372 0.4070 0.4070
0.0372 0.0372 0.0372 0.2866 0.2866 0.0372 0.2866
>> [V,D] = eig(A')
V =
0.1751 0.4326 -0.0005 -0.0003 0.2826 0.2820 0.3396
0.1377 -0.0000 0.0005 0.0007 0.0000 -0.4279 -0.5152
0.3550 -0.5594 0.0012 0.0010 0.6482 0.4182 0.5035
0.5137 -0.0000 -0.4121 -0.5374 -0.0000 0.4279 0.3142
0.4255 -0.4326 -0.4097 -0.2704 -0.2826 0.1459 -0.0253
0.1377 0.0000 0.0005 0.0007 0.0000 -0.4279 -0.1132
0.6005 0.5594 0.8139 0.7988 -0.6482 -0.4182 -0.5035
D =
1.0035 0 0 0 0 0 0
0 -0.3225 0 0 0 0 0
0 0 -0.1229 0 0 0 0
0 0 0 -0.0010 0 0 0
0 0 0 0 0.5719 0 0
0 0 0 0 0 0.3698 0
0 0 0 0 0 0 0.3698
>> V'
ans =
0.1751 0.1377 0.3550 0.5137 0.4255 0.1377 0.6005
0.4326 -0.0000 -0.5594 -0.0000 -0.4326 0.0000 0.5594
-0.0005 0.0005 0.0012 -0.4121 -0.4097 0.0005 0.8139
-0.0003 0.0007 0.0010 -0.5374 -0.2704 0.0007 0.7988
0.2826 0.0000 0.6482 -0.0000 -0.2826 0.0000 -0.6482
0.2820 -0.4279 0.4182 0.4279 0.1459 -0.4279 -0.4182
0.3396 -0.5152 0.5035 0.3142 -0.0253 -0.1132 -0.5035发布于 2016-06-07 02:31:44
有一件事是,转换矩阵的行应该加为1,因此它是一个适当的随机矩阵(它们稍微偏离)。当你计算平稳分布时,你取其特征值为1的特征向量,这是正确的,但你必须将它归一化,才能得到和1,这样它才是适当的概率分布。如果这样做,您将看到(在将行规格化为单位和之后列出的矩阵A的平稳分布)基本上等于所述的[0.05 0.04 0.11 0.25 0.21 0.04 0.31]的“正确”值。从您的描述来看,A似乎已经包含了传送转换,所以在代码中运行A = A * (1 - 0.14) + 0.14 * 1 / 7是不必要的。这就解释了为什么A的平稳分布已经与“正确”答案相匹配。
https://stackoverflow.com/questions/37657123
复制相似问题