---
description: >-
  1. 计算单变量或多变量时序距离，使用欧几里得、曼哈顿等函数量化不同时序差异。 2. 量化生成时序之间接近度相似性矩阵。 3.
  使用高尔距离和堪培拉距离等相似度测量。 4. 实现最小方差匹配算法，绘制步进模式的图形表示。 5. 其他语言包算法实现。
---

# Python或R时偏移算法实现

{% embed url="https://viadean.notion.site/Python-R-1121ae7b9a328065b41be14f4c630b08" %}

{% content-ref url="../zhi-dian-mi-jin-brief" %}
[zhi-dian-mi-jin-brief](../zhi-dian-mi-jin-brief)
{% endcontent-ref %}

### 🍪语言内容分比

{% @mermaid/diagram content="pie title 语言分比
 "Python":90
 "R":80
 "C/C++":50
 "Java/C#/Julia/CUDA":30" %}

{% @mermaid/diagram content="pie title 内容分比
 "算法":90
 "数学":30
 "统计学":30
 "时间序列":40
 "图形绘制":30" %}

### 🍇Python距离矩阵

在数学、计算机科学，尤其是图论中，距离矩阵是一个方阵（二维数组），其中包含一组元素之间成对的距离。根据所涉及的应用，用于定义此矩阵的距离可能是也可能不是度量。如果有 N 个元素，则此矩阵的大小将为 $$N \times N$$。在图论应用中，元素通常被称为点、节点或顶点。

我们计算两个矩阵 x 和 y 的距离矩阵。两个矩阵的维度相同 (3, 2)。因此距离矩阵的维度为 (3,3)。使用 p=2，距离计算为闵可夫斯基 2 范数（或欧几里得距离）。

```python
 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)。

```python
 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 范数（或曼哈顿距离）。

```python
 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 范数（或欧几里得距离）。

```python
 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)
```
