Python或R时偏移算法实现
🎯要点
- 计算单变量或多变量时序距离,使用欧几里得、曼哈顿等函数量化不同时序差异。
- 量化生成时序之间接近度相似性矩阵。
- 使用高尔距离和堪培拉距离等相似度测量。
- 实现最小方差匹配算法,绘制步进模式的图形表示。
- 其他语言包算法实现。
🍪语言内容分比
🍇Python距离矩阵
在数学、计算机科学,尤其是图论中,距离矩阵是一个方阵(二维数组),其中包含一组元素之间成对的距离。根据所涉及的应用,用于定义此矩阵的距离可能是也可能不是度量。如果有 N N N 个元素,则此矩阵的大小将为 N × N N \times N N×N。在图论应用中,元素通常被称为点、节点或顶点。
我们计算两个矩阵 x 和 y 的距离矩阵。两个矩阵的维度相同 (3, 2)。因此距离矩阵的维度为 (3,3)。使用 p=2,距离计算为闵可夫斯基 2 范数(或欧几里得距离)。
import numpy as np
from scipy.spatial import distance_matrix
x = np.array([[1,2],[2,1],[2,2]])
y = np.array([[5,0],[1,2],[2,0]])
print("matrix x:\n", x)
print("matrix y:\n", y)
dist_mat = distance_matrix(x, y, p=2)
print("Distance Matrix:\n", dist_mat)
matrix x:
[[1 2]
[2 1]
[2 2]]
matrix y:
[[5 0]
[1 2]
[2 0]]
Distance Matrix:
[[4.47213595 2.23606798]
[3.16227766 1.41421356 1.]
[3.60555128 1. 2. ]]
我们计算两个矩阵 x 和 y 的距离矩阵。两个矩阵的维度不同。矩阵 x 的维度为 (3,2),矩阵 y 的维度为 (5,2)。因此距离矩阵的维度为 (3,5)。
import numpy as np
from scipy.spatial import distance_matrix
x = np.array([[1,2],[2,1],[2,2]])
y = np.array([[0,0],[0,0],[1,1],[1,1],[1,2]])
print("matrix x:\n", x)
print("matrix y:\n", y)
dist_mat = distance_matrix(x, y, p=2)
print("Distance Matrix:\n", dist_mat)
我们使用单个矩阵(即 x)计算距离矩阵。矩阵 x 的维度为 (3,2)。相同的矩阵 x 作为参数 y 给出。距离矩阵的维度为 (3,3)。
import numpy as np
from scipy.spatial import distance_matrix
x = np.array([[1,2],[2,1],[2,2]])
print("matrix x:\n", x)
dist_mat = distance_matrix(x, x, p=2)
print("Distance Matrix:\n", dist_mat)
我们计算两个矩阵 x 和 y 的距离矩阵。两个矩阵的维度不同。矩阵 x 的维度为 (3,2),矩阵 y 的维度为 (5,2)。因此距离矩阵的维度为 (3,5)。使用 p=1,距离计算为闵可夫斯基1 范数(或曼哈顿距离)。
import numpy as np
from scipy.spatial import distance_matrix
x = np.array([[1,2],[2,1],[2,2]])
y = np.array([[5,0],[1,2],[2,0]])
print("matrix x:\n", x)
print("matrix y:\n", y)
dist_mat = distance_matrix(x, y, p=1)
print("Distance Matrix:\n", dist_mat)
我们计算两个矩阵 x 和 y 的距离矩阵。两个矩阵的维度均为 (2, 5)。因此距离矩阵的维度为 (3,5)。使用 p=2,距离计算为闵可夫斯基 2 范数(或欧几里得距离)。
import numpy as np
from scipy.spatial import distance_matrix
x = np.array([[1,2,3,4,5],[2,1,0,3,4]])
y = np.array([[0,0,0,0,1],[1,1,1,1,2]])
print("matrix x:\n", x)
print("matrix y:\n", y)
dist_mat = distance_matrix(x, y, p=2)
print("Distance Matrix:\n", dist_mat)