[PYTHON] Génération de données factices en forme de vent dans le processus de Markov

Contexte

Supposons que vous souhaitiez utiliser des données chronologiques de l'énergie éolienne comme matériau. Ici, nous allons créer des données factices en Python 3 afin que vous n'ayez pas à vous soucier des droits d'auteur. Un simple nombre aléatoire ressemble à un faux, nous utilisons donc le processus de Markov.

politique

Considérez les trois états suivants et déterminez la probabilité de transition de manière appropriée. De plus, les données pour chaque état seront un nombre aléatoire uniforme lorsque la limite supérieure est modifiée.

la mise en oeuvre

import numpy as np
import matplotlib.pyplot as plt

sts = [0, 1, 2] #Rien,Faible,Haute
coe = [0, 30, 80] #limite supérieure
M = np.array([[0.93, 0.07, 0.0], #Probabilité de transition
              [0.45, 0.3, 0.25],
              [0.0, 0.07, 0.93]])
st = 0 #Etat initial
res = [] #résultat
np.random.seed(16)
for i in range(400):
    res.append(np.random.rand() * coe[st])
    st, = np.random.choice(sts, 1, p=M[st])
plt.bar(range(len(res)), res)

résultat

C'est devenu comme ça. ダウンロード (1).png

Recommended Posts

Génération de données factices en forme de vent dans le processus de Markov
Génération de données factices Python (édition d'adresse)
Prétraitement dans l'apprentissage automatique 1 Processus d'analyse des données
Génération d'ensembles de données
Échantillonnage dans des données déséquilibrées