/master-research

引き継ぎ用

Primary LanguageJupyter Notebook

maseter research

tsModel.py

人工データを作成する関数。

  • ARIMA()
  • SARIMA()
  • NeuralNet():4層Neural Networkを用いた非線形自己回帰時系列モデル

の三つある。特にNeuralNet()の引数について、

  • model_random_seed:人工データ作成に用いるニューラルネットのパラメータを決定する乱数のシード
  • p:次数pの自己回帰モデル
  • q:次数qの移動平均モデル
  • n_unit:4層ニューラルネットの中間層のユニット数(list形式)
  • mu, sigma:innovationの平均と分散
  • N;作成する人工データの長さ
  • random_seed:innovation系列生成の乱数シード
  • burn_in:burn-in期間をintで与える(defaultでok)
  • randomness:innovationの分布を決定する
    • "normal":正規分布
    • "uniform":一様分布
    • "gamma":ガンマ分布
    • "normal&uniform":系列の前半2/Nは正規分布、後半は一様分布
  • return_net:Trueならネットワークのインスタンスが返ってくる
  • return_innovation:Trueならinnovation系列が返ってくる

networkModel.py

時系列モデルの構築に用いるニューラルネットのクラスが定義されている。GeneratorとDiscriminatorとPredictorの三つの役割分担がある。

Wasserstein.py

一次元の正規分布と一次元の経験分布とのWasserstein距離を計算している。Discriminatorではなく直接Wasserstein距離を損失として用いる場合に使う。

\begin{align*} W_p=\left{\sum_{n=1}^N\int_{\Phi^{-1}(\frac{n-1}{N})}^{\Phi^{-1}(\frac{n}{N})}|x_n-x|^p\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}dx\right}^{\frac{1}{p}} \end{align*}
を計算する。p=1の場合のみ計算できる。