にせねこメモ

はてなダイアリーがUTF-8じゃないので移ってきました。

一日の平均気温の計算方法について考える

一日の平均気温を求めたいなあと思っているのだが、その計算方法ってあまり自明ではないよなあと考えていた。

議論は雑だし、結局考えたところで特に何も起こらないのだが、考えたことを書いておく。

一日の気温変化の例

一日の温度変化は、例えばこんな感じである。

理論

理論的に考えると、
時刻 tにおける気温 T(t)について、
時刻 t_0, t_1(ただし t_0 < t_1)間における平均気温 M(t_0, t_1)は、

 M(t_0, t_1) = \frac{1}{t_1 - t_0} \int_{t_0}^{t_1}T(t)dt

で表せる気がする。


これを時刻-気温のグラフで考えると、下図のように、一日の範囲内で気温の関数がx軸となす部分の面積を求めて、それを1日の時間(時刻の差)で割ることで気温の平均値が求められるということだ。


積分で図の水色で塗りつぶした部分の面積(y=0より下の部分はマイナス)を求め、一日の時間幅で割ればいい。


さて、これは実際には1分置きに観測したデータであるから、連続値ではない。
とはいえ、1分毎の計測の一日分のデータの算術平均を求めると平均気温のなかなか良い近似になると思う。
で計算してみると5.4217910526315505と出てきた。多分ここまで精度ないので5.42℃程度ってことになるか。

気象庁の観測する日平均気温

さて、気象庁はどうやって日平均気温を計算しているのだろうか。


気象庁の公開する気象観測統計の解説によると、

日の統計を行う場合、1 日を区切る時刻を「日界」といい、通常は日本標準時による 24 時を日界とする。なお、日界の観測値は両日の観測とせず、当日の観測としてのみ記録する(例えば 15 日 24 時 00 分の観測の記録は 15 日にのみ記録し、16 日 00 時 00 分の観測として記録しない)。

気象観測統計指針 第1部 p.3 2.2.2 日の統計

らしい。また、

日平均値は、定時または毎正時(1 時から 24 時の 24 回)の 1 日の合計値(日合計値)を合計した資料数(気象要素により、あらかじめ定められている)で割った値をいう。なお、地上気象観測では日平均風速などその他の方法により平均値を求めることもあるが、これについては、第 4 章で個別に解説する。

気象観測統計指針 第1部 p.5 2.3.2 平均値

とのこと。

で4章を見てみると、気温について、日平均気温は、「10分値のうち、正時の値のみを用いる」とある(気象観測統計指針 第1部 p.44 4.4.1 地上気象観測統計の観測値)。つまり、ある1日について、日平均気温は、1時~24時の各時0分に計測された24のサンプルの算術平均として計算されているようだ。

適用してみる

これを上の例に適用してみると、気温の関数を、次図のグラフの水色の線で近似するということになる。

この方法で日平均気温を計算してみると、5.945291666666666となった。5.95℃程度、実際の日平均気温より0.3℃ほど高くなっている。

気象庁の古い計算方法

過去においては、「1日8回定時(0、3、6、9、12、15、18、21の各時)」に観測したデータの算術平均を日平均気温していたこともあるらしい(https://www.gsi.go.jp/atlas/archive/j-atlas-d_j_12.pdf)。日界はどちらの日付のデータとして扱われているかはこの記述からかは明確ではない。

8回定時計測での日平均気温の適用

さて同様に適用してみる。なお、前記の計算方法に合わせて、24時は当日のデータとして含めるようにした。
気温の関数を、次図のグラフの水色の線で近似するということになる。

平均は6.382875℃と出た。6.38℃は実際の日平均気温より1℃近く高くなっている。

他の計算方法

また、「世界の天候データツール(ClimatView 日別値)」においては、また別の計算方法がなされているらしい。

日平均気温
1日4回の主要時刻における気温の通報値を平均して求めています。 なお、この方法で計算できない場合は、日最高・最低気温を平均して計算しています。
中間時刻の通報値も合わせて使う方がより正確な日平均気温を計算できますが、中間時刻の通報がある国とない国の間で計算値の系統的な違いが発生するのを防ぐために、主要時刻の通報値のみ使用しています。

気象庁|日データの計算方法について (世界の天候データツール(日別値))

なお、主要時刻とは「主要時刻(00, 06, 12, 18UTCに通報)」(同資料)とのことらしく、これは日本時間の9時・15時・21時・翌3時となるようだ。経度差があるにも関わらず同一の時点(同一のUTC時刻)で計測しているため、緯度に依存して平均気温の性質が異なっている可能性がある気がする。というか、最高気温と最低気温となる時刻と計測タイミングとの差が誤差に大きく効いてきそう。

ともかく、一日4回計測と、最高・最低気温による平均気温を計算してみる。

一日4回計測による日平均気温の計算の適用

ここでは、6時、12時、18時、24時の計測結果を平均してみる。

日平均気温の計算結果は6.5625℃となった。実際より1℃以上高い。

最高・最低気温による日平均気温の計算の適用

最低気温が-1.625℃、最高気温が11.437℃であることから、日平均気温は4.906℃と計算された。実際より0.5℃ほど低い。

ここまでの考察

一例しか見てないので一概になんとも言えないが、計算に用いるデータの数が少なくなるほど誤差が大きくなっていく傾向がありそう。

結局比較可能であることが一番重要なので、比較するもの同士で同一の計算方法を適用していれば何でもいいという感じはある。

気温関数の補間

さて算術平均を用いる場合だと、近似された気温関数がステップ関数になる。
これを例えば線形補間とかにすると、より真の値に近いデータがとれるのではないか。なお計算は格段に複雑になる。


そう思って、一日4回計測の場合の気温の線形補間のグラフをプロットしてみた(次図)。

  • 水色が0時、6時、12時、18時に観測を行う場合、
  • 赤が2時、8時、14時、20時に観測を行う場合、
  • 緑が4時、10時、16時、22時に観測を行う場合

である。

ステップ関数よりも実際の計測値に近くなるかなあという感じはあるものの、実際の値に近づくかは計測タイミングの影響もあり、なんとも言えない雰囲気がある。

一日8回計測やそれ以上の頻度なら、線形補間によってそれなりの精度が出せそうな気がする。

あと、線形補間の利点として、計測間隔が等間隔でなくても利用できるということがある。

欠測

気温のデータが取れないことは時々ある。これによりデータの間隔が異なると、算術平均により平均気温を計算するのに問題が発生する。データが等間隔になるように中間データを補間してやると、算術平均で平均気温が計算できるようになる。

一日4回計測で一つデータが欠けたらまともな値がでないことが予想されるが、一日8回以上の頻度なら1回欠測しても線形補間でそれなりの精度出そうな気がする。

また、一時間に1回計測するが、その計測タイミングが0分でない場合にも、線形補間などで毎時0分の値を推定するなどですべてのデータの計測タイミングを仮想的に揃えることで、比較可能性を高められるのではないか。