Python中多维矩阵(数组)的乘法

时间:2013-07-02 02:21:31

标签: python numpy linear-algebra multidimensional-array

首先,我知道矩阵和数组是NumPy中的两种不同的数据类型。但是我把它们都放在标题中以使它成为一个普遍的问题。如果您正在编辑此问题,请随时删除一个。好的,这是我的问题,

以下是对原始问题的修改。考虑具有二维状态向量x_t =(y_t,z_t)的马尔可夫链,其中y_t和z_t都是标量。表示/存储/操纵这个马尔可夫链的转移矩阵的最佳方法是什么?

现在,我解释的是我的问题的简化版本。我的马尔可夫链状态向量是一个5 * 1向量。 希望这澄清

1 个答案:

答案 0 :(得分:2)

假设您正在尝试使用马尔可夫链来模拟英语句子语法。您的转换矩阵将为您提供从一个词性转到另一个词性的概率。现在让我们假设我们使用3 rd - 秩马尔可夫模型。这将使用从状态12323X的概率,其中X是有效状态。

马尔可夫转移矩阵将是N 3 x N,其仍然是二维矩阵,而不管状态的维数本身。如果你基于经验证据生成概率分布,那么在这种情况下,将会出现概率为0的状态。

如果你担心稀疏性,也许阵列不是最好的选择。您可以使用词典字典,而不是使用数组数组。或者,如果你有许多转换矩阵,一系列字典词典。

编辑(基于评论): 你是对的,这更复杂。尽管如此,对于任何州(i,j),都存在进入下一个州(m,n)的概率分布。因此,我们有“外部”字典,其键是所有可能的状态。每个键(状态)指向一个字典值,该字典保存该状态的概率分布。