2010年2月10日水曜日

串本と浦神の潮位差と黒潮流路位置の相関



串本と浦神の潮位差が黒潮の流路のよい指標となることは経験的に知られている(参考:気象庁)。
前々回作った黒潮の流路の緯度を読むプログラムと、前回作った串本と浦神の潮位差を読むプログラムをモジュールとして用いて、潮位差を横軸に、流路緯度を縦軸にプロットしてみた。
 
#read module
from read_kuroshio_lat import read_kuroshio_lat
from read_kushimoto_uragami import read_kushimoto_uragami

import matplotlib.pyplot as plt
import numpy as np

#read data
kuroshio_lat=read_kuroshio_lat()
kushimoto_uragami=read_kushimoto_uragami()  

#plot
plt.figure()
plt.plot(kushimoto_uragami,kuroshio_lat,'.')
plt.xlabel("Kushimoto-Uragami")
plt.ylabel("Kuroshio Latitude")
plt.savefig("kurosho_corr.png")
plt.show()
潮位差が大きいと、黒潮の緯度は高くなる(岸に近い流路をとる)傾向があることがわかる。
相関をとってみよう。
c1=np.corrcoef([kushimoto_uragami,kuroshio_lat])
print c1 
[[ 1.          0.11969213]
 [ 0.11969213  1.        ]]
相関係数は 0.11969213 !?   小さ!!!

numpyのmasked arrayでマスクした潮位差の欠損値のところでうまく計算できていないらしい。ちゃんと欠損値を抜いて計算してみよう。
mask=(kushimoto_uragami.mask==False)
c2=np.corrcoef([kushimoto_uragami[mask],kuroshio_lat[mask]])
print c2
[[ 1.          0.61846868]
 [ 0.61846868  1.        ]]
今度はそれなりの相関係数 0.61846868 が出た。

実は初めからmasked array用の相関係数の関数ma.corrcoefを使えば、そのままでも計算できる。
c3=np.ma.corrcoef([kushimoto_uragami,kuroshio_lat])
print c3
[[1.0 0.61846868176]
 [0.61846868176 1.0]]

0 件のコメント: