###発生している問題
お世話になります。
データファイルからデータを読み込み、それを訓練データとしてガウス過程回帰をしようとしています。
訓練データは2次元の入力に対して1次元の目標値を返すもので、それぞれデータファイルの1,2列目が入力、3列目が目標値、4列目がノイズとなっています。
これからガウス過程回帰を扱うPythonのライブラリgeorgeを使って回帰するのを目的としたプログラムなのですが、エラーメッセージではどうやら「次元が一致していない」ために共分散行列を計算できないようです。
多次元入力から1次元出力を返すようなものを回帰するにはどうしたらよいのでしょうか?
ここでいう次元とは何と何の次元が一致していないと言っているのでしょうか?
georgeに詳しい方いらっしゃいましたらどうぞよろしくお願いいたします。
###エラーメッセージ
Traceback (most recent call last):
File "reg.py", line 27, in <module>
gp.compute(x, yerr)
File "/Users/.pyenv/versions/anaconda-2.4.0/lib/python2.7/site-packages/george/gp.py", line 175, in compute
self._x, self.inds = self.parse_samples(x, sort)
File "/Users/.pyenv/versions/anaconda-2.4.0/lib/python2.7/site-packages/george/gp.py", line 132, in parse_samples
raise ValueError("Dimension mismatch")
ValueError: Dimension mismatch
###該当のソースコード
Python
1import numpy as np 2import matplotlib.pyplot as plt 3import sys 4 5argvs = sys.argv 6argc = len(argvs) 7filename = argvs[1] 8data = np.loadtxt(filename) 9 10x1 = data[:,0] 11x2 = data[:,1] 12y = data[:,2] 13yerr = data[:,3] 14 15x = [] 16for i in range(len(x1)): 17 x.append([x1[i],x2[i]]) 18 19import george 20from george import kernels 21 22# Set up the Gaussian process. 23kernel = kernels.ExpSquaredKernel(1.0) 24gp = george.GP(kernel) 25 26# Pre-compute the factorization of the matrix. 27gp.compute(x, yerr) 28 29# Compute the log likelihood. 30gp.lnlikelihood(y)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。