北極振動とは?

Download Report

Transcript 北極振動とは?

2008.12.2
環境システム科学演習
2回目
FORTRAN 文法について
①コメント ②定数 ③配列 ④入出力文
⑤文字の結合 ⑥IF文 ⑦IF文
⑧副プログラム(サブルーチン)
その他・・・・
演習:相関
北極振動指数と日本各地の気温の関係を調べる
1
北極海は国内旅行程度
の範囲にある
日本の気候は
バランスで決まる
陸
海
偏西風
陸
偏西風
高温⇒低圧
海
低温⇒高圧
季
節
風
陸
低温⇒高圧
季
節
風
偏西風
海
高温⇒低圧
温暖
寒冷
温暖
寒冷
出典:探検しようみんなの地球
http://www.mofa.go.jp/mofaj/gaiko/oda/sanka/kyouiku/kaihatsu/chikyu/statistics/nature/graph_02.html
北極振動とは?
「北極海で気圧が下がれば、
北大西洋、北太平洋で気圧
が上がり」、
「北極海で気圧が上がれば、
北大西洋、北太平洋で気圧
が下がる」というパターン。
北極海で低気圧偏差のときー
ー>北極振動指数は正
北極海で高気圧偏差のときー
ー>北極振動指数は負
黒
灰
白
灰
黒
北極振動のパターン
①コメント
Cから始まる行は、何もしない
コメント行
!以降は、何もしない
コメント
②定数
PARAMETER
は定数を与える
CHARACTER
は文字であることを宣言
REAL なら実数であることを宣言
INTEGERなら整数であることを宣言
暗黙の了解について:
何も宣言しないならば、
A-H,O-Zは実数
I-Nは整数
になる
③配列
DIMENSION
配列であることを宣言
I=1
2
3
…
N-2
N-1
N
J=1
AO(1,1)
AO(2,1)
AO(3,1)
…
AO(N-2,1)
AO(N-1,1)
AO(N,1)
2
AO(1,2)
AO(2,2)
AO(3,2)
…
AO(N-2,2)
AO(N-1,2)
AO(N,2)
3
AO(1,3)
AO(2,3)
AO(3,3)
…
AO(N-2,3)
AO(N-1,3)
AO(N,3)
…
…
…
…
…
…
…
…
M-2
AO(1,M-2)
AO(2,M-2)
AO(3,M-2)
…
AO(N-2,M-2) AO(N-1,M-2) AO(N,M-2)
M-1
AO(1,M-1)
AO(2,M-1)
AO(3,M-1)
…
AO(N-2,M-1) AO(N-1,M-1) AO(N,M-1)
M
AO(1,M)
AO(2,M)
AO(3,M)
…
AO(N-2,M)
AO(N-1,M)
AO(N,M)
④入出力
装置(この場合はファイル)を
OPENする
ファイルを読み込んだり、
ファイルに書き込んだりする
暗黙の了解について:
5番はキーボード
6番はCRT(画面)
READ(*,*) の最初の*はキーボード
WRITE(*,*) の最初の*は画面
つまり、
READ(*,*)はREAD(5,*) と同じ
WRITE(*,*) はWRITE(6,*)と同じ
5番、6番以外はファイルを指定する
⑤文字の結合
CHARACTERで宣言しないとき
は、
’ ’
で囲めば文字変数になる
FNは3文字の文字であると宣言した。
’A0’と’.TXT’は数値ではなく
文字「A0」と「TXT」である。
’A0’ //FN// ’.TXT’
は、FNとして、
ATS
を指定すると
「A0ATS.TXT」
という文字を意味する。
⑥DOループ
I=1
2
3
…
N-2
N-1
N
J=1
AO(1,1)
AO(2,1)
AO(3,1)
…
AO(N-2,1)
AO(N-1,1)
AO(N,1)
2
AO(1,2)
AO(2,2)
AO(3,2)
…
AO(N-2,2)
AO(N-1,2)
AO(N,2)
3
AO(1,3)
AO(2,3)
AO(3,3)
…
AO(N-2,3)
AO(N-1,3)
AO(N,3)
…
…
…
…
…
…
…
…
M-2
AO(1,M-2)
AO(2,M-2)
AO(3,M-2)
…
AO(N-2,M-2) AO(N-1,M-2) AO(N,M-2)
M-1
AO(1,M-1)
AO(2,M-1)
AO(3,M-1)
…
AO(N-2,M-1) AO(N-1,M-1) AO(N,M-1)
M
AO(1,M)
AO(2,M)
AO(3,M)
…
内側:
Jが1~Nまでを繰返し行うという意味です。
上の表の矢印の順に作業を行います。
ここでは、11番のファイル「AO.TXT」から
順番に1からM(=12)まで読み込むことを
意味します。
Jについて2つおき行いたい場合には、
J=1,M,2
とします。
外側:
外側も同じです。上の表の点線に
のように作業します。
AO(N-2,M)
AO(N-1,M)
AO(N,M)
⑦IF文
判定を行う、IF文です。
ここでは、
もし、Jが11以上ならば、
IF(J.GE.11) THENと
END IFに挟まれた部分の計算を行います。
実際には、Jが11よりも大きな値を取るのは、J=11か
J=12しかありません。
つまり、11月と12月だけ考えますよというものです。
ここでは、X(I)を計算しているものを説明します。
I=1(1950年)から始まります。
J=11のとき初めて、IFブロックに入ります。
そして、
AOTMPにAO(1,11)の値を入れますよとしています。
そして、
配列X(1)にAOTMPとX(1)を足したものを与えます。
この演算を行う前には、X(1)は、まだ何も数値を与えてい
ないので、X(1)は0です。
演算後、次に、J=12になります。これも、11以上ですから、
演算を行います。
このとき、X(1)には既に11月の値が入っていることに注
意してださい。
そして、AOTMPには、AO(1,12)の値を入れます。
X(1)=AOTMP+X(1)
とは、AO(1,11)とAO(1,12)を足したものを意味しているの
です。
Y(I)も基本は同じです。
IFのブロック
11月と12月の和を計算した
ので、その0.5倍しています。
これは11-12月の平均を求
めているのです。
装置番号6番(画面)と装置番号13番「ファイル」に値を出力します。
IY(I):年
X(I):11-12月の平均北極振動指数
Y(I):11-12月の平均気温
です
⑧副プログラム
(サブルーチン)
相関係数を画面に出力します
相関係数を計算する副プログラムを呼び出し
ます。
主プログラムの変数と副プログラムの変数を
PEARSON(X,Y,N,R)
の括弧内で引き渡しします。
開いた装置は、閉じてあげます
メインプログラムのX(N)、Y(N)、Nが
副プログラムに引き渡され、
副プログラムで計算されたRが
メインプログラムに引き渡されます。
Rが求めるべき相関係数です
プログラムをSTOPさせ
終了させます(ENDさせます)。
相関係数とは?
(1)開くをクリック
(2)ファイルを指定
プログラムでファイルに出力したデータをエクセルで描いてみよう
。
(3)
(4)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
14
12
10
8
6
系列1
系列2
4
2
0
-21940
-4
1960
1980
2000
2020
• 同じようにB列、C列データの散布図を作成
13
y = 0.524x + 10.414
2
R = 0.1636
12
11
系列1
線形 (系列1)
10
9
8
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
散布図と相関の感覚的理解
• 直線からのズレが小さい
相関係数1とは?
(xn+1, yn+1)=α(xn, yn)
のとき、散布図は一直線
になる。
0.4
(xn+1, yn+1)
0.3
0.2
0.1
(xn, yn)
0
-1.5
-1
-0.5
-0.1
-0.2
-0.3
-0.4
0
0.5
1
1.5
つまり、
y=αx
の関係が成り立っていて、
xの値とyの値が1対1に対応
する場合に相当。
このケースが相関係数1
相関係数の数学的な意味
(x2 y2)
(x1, y1)
数学的には、ベクトルのなす角度
に関係している。
直線に“のっかる”とは、ベクトルの
なす角度が小さいこととして表現できる
(0,0)
A とBのなす角度(θ)は
cosθ =
a ・b
| a | ・| b |
ベクトルの内積
a =(x1, y1) , b =(x2, y2)
a ・b = | a | ・| b | cosθ
x1×x2+ y1×y2 = √( x12 + y12) × √ ( x2+2 y2 )2 ×cosθ
相関係数の計算では、この性質を使っている。
データの数が3個だったら?
これでも、相関はあるといえるの?
1.2
たまたま、何じゃない?
ってことも考えられる。
1
0.8
データの個数に応じて、相関があり
と言える相関係数の閾値がある
0.6
0.4
0.2
0
-1.5
-1
-0.5
-0.2
-0.4
0
0.5
1
1.5
次のページの表で、
5%の有意水準というのは、
95%の確率で確からしい
1%の有意水準というのは、
99%の確率で確からしい
ことを意味している。(詳細は省略)
いくつかの地点の月平均気温を、
札幌(ATS.TXT)、東京(ATT.TXT) 、大阪(ATO.TXT) 、福岡(ATF.TXT) 、
南大東島(ATM.TXT)に入れてある。
それぞれの地点での北極振動指数(AO)との相関係数を求め、
相関があるか無いかを判定しなさい。
標本数(データ数)と相関係数の限界値
例えば、データ数が58個の場合、
相関係数が0.254以上の場合、95%の信頼で相関があると言える
データ数(N)
自由度(N-2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
5%有意水準
0.997
0.95
0.878
0.811
0.755
0.707
0.666
0.632
0.602
0.576
0.553
0.532
0.514
0.497
0.482
0.468
0.456
0.444
0.433
0.423
0.413
0.404
0.396
0.388
1%有意水準
1
0.99
0.959
0.917
0.875
0.834
0.798
0.765
0.735
0.708
0.684
0.661
0.641
0.623
0.606
0.59
0.575
0.561
0.549
0.537
0.526
0.515
0.505
0.496
データ数(N)
自由度(N-2)
25
26
27
28
29
30
31
32
33
34
35
36
37
38
40
42
44
46
48
58
68
78
88
98
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42
44
46
48
50
60
70
80
90
100
5%有意水準
0.381
0.374
0.367
0.361
0.355
0.349
0.344
0.339
0.334
0.329
0.325
0.32
0.316
0.312
0.304
0.297
0.291
0.285
0.279
0.254
0.235
0.22
0.207
0.197
1%有意水準
0.487
0.479
0.471
0.463
0.456
0.449
0.442
0.436
0.43
0.424
0.418
0.413
0.408
0.403
0.393
0.384
0.376
0.368
0.361
0.33
0.306
0.286
0.27
0.256