当我试图找到一种方法来优化一个巨大的2D矩阵的创建和打印时,我决定尝试NumPy。但是,对我来说不幸的是,使用这个库反而会使情况变得更糟。我的目标是创建一个矩阵,用它的索引填充字符串。如下所示(其中n是矩阵的大小):
python_matrix = [[f"{y}, {x}" for x in range(n)] for y in range(n)]
当我以这种方式使用array()库的NumPy函数时:
numpy_matrix = numpy.array([[f"{y}, {x}" for x in range(n)] for y in range(n)])
假设我有一系列4种可能的马尔可夫状态(A,B,C,D):
X = [A, B, B, C, B, A, D, D, A, B, A, D, ....]
如何使用Python生成马尔可夫变换矩阵?矩阵必须是4x4,表示从每个状态转移到其他3个状态的概率。我已经在网上看了很多例子,但在所有的例子中,矩阵都是给定的,而不是基于数据计算的。我也研究了hmmlearn,但我没有读到如何让它输出转换矩阵的内容。有没有可供我使用的库?
下面是我在Python中尝试做的事情的R代码:
python中是否有函数将通过使用协作过滤 (ex )来为您填充矩阵中缺少的值。交替极小化算法等。还是需要从头开始实现这些功能?
编辑:虽然这不是一个矩阵完成的例子,但为了说明类似的情况,我知道Matlab中有一个svd()函数,它以一个矩阵作为输入,并自动输出它的奇异值分解(svd)。我在Python中寻找类似的东西,希望是一个内置的函数,但是即使是一个好的库也会很棒。
我正在尝试使用statsmodels库statsmodel.tsa.statespace.sarimax.SARIMAX从Python语言中的离散时间序列数据识别状态空间模型。 我需要状态空间通用形式(here the statsmodel reference)的矩阵:从statsmodel页面可以解释这些矩阵,但不清楚如何推断它们。 例如,如果我想对识别的模型应用卡尔曼滤波器(通过sarimax),我需要此图片中描述的矩阵state space matrices needed 是否可以使用statsmodel获得矩阵系数