2017-07-18 17 views
1

ウェブ閲覧私は、KrigingをPythonで使うためのいくつかのツールがpyKrigingGaussian Process Regressionであることを発見しました。しかし、私は彼らのいずれかを働かせることができませんでした。最初のものは(も、それをインポートすることはできません)私のために動作しません:KrigingでステーションデータをPythonで補間する方法はありますか?

import pyKriging

File "~/python3.6/site-packages/pyKriging/krige.py", line 142 
    except Exception, err: 
        ^
    SyntaxError: invalid syntax 

、私はそれを使用する方法を理解していない秒1。私は簡単な実例を見つけることができませんでした(この rroowwllaanndd answerは素晴らしいですが、悲しいことにデータはもはやダウンロードできません)

私の質問は、どうやってクリギングを使ってデータを補間できますか?私はいくつかのステーションデータを次のような数値配列に保存しています:

2000  1   1   5.0 
2000  1   2   3.4 
2000  1   3   0.2 

そして列は年 - 月 - 日 - 降水量です。私はこれらのデータ配列(st1、st2、st3)のいくつかと、各ステーションのIDと各ステーションの位置座標(stid、ステーション1は経度15.6865、緯度62.6420、そう)。私は必要なもの

import numpy as np 
st1 = np.array([[2000,1,1,5.0],[2000,1,2,3.4],[2000,1,3,0.2]]) 
st2 = np.array([[2000,1,1,8.2],[2000,1,2,2.5],[2000,1,3,0.0]]) 
st3 = np.array([[2000,1,1,np.nan],[2000,1,2,4.5],[2000,1,3,1.2]]) 

stid = np.array([[1,15.6865,62.6420],[2,15.7325,62.1254],[3,16.1035,61.1449]]) 

は日ごとに、このようなグリッドでクリギングで補間すべてのステーションのデータが含まれている日あたりの配列(または3次元配列)である:

y = np.arange(61,63,0.125) 
x = np.arange(14,17,0.125) 
X,Y = np.meshgrid(x,y) 

すべてのヘルプれます感謝。

答えて

2

クリギングがしばしば「ガウスプロセス回帰」と呼ばれる興味深いドキュメンテーション、パッケージなどを見つけるのは良いことです。

多くの例を持つ良い実装は、よく知られた機械学習パッケージscikit-learnの1つです。それはよく知られているDACEのmatlabの実装に基づいています。

ガウスプロセス回帰の実装に関するドキュメントは、pageおよびそのリンクにあります。このページの下部にある5つのチュートリアル:enter link description hereがあります。利用可能なカーネルの一覧はhereです。

import sklearn 
gp = sklearn.gaussian_process.GaussianProcessRegressor(kernel=your_chosen_kernel) 
gp.fit(X, y) 
:あなたは自分の好みのカーネルで簡単なモデルに合うように、以下を行う必要がありますが、提供されたデータで

関連する問題