2008-05-31

川崎医科大学室内管弦楽団

今日は川崎医科大学室内管弦楽団第41回学内演奏会へ行ってきました。

帰りに近くのハローズで燕の巣を見つけました。子供は順調に育っています。親は何処で寝るのでしょう>

ご飯まだ~?

食いしん坊の子供たちで子育ても大変です。

2008-05-29

分散の推定

レポートの解答

前回、
> さらに変化率の標準偏差を求めてCells(2,9)に表示してください。標準偏差は分散の平方根で、分散は例えばcells(1000,6)までなら
> (cells(2,6)-平均)^2 + (cells(3,6)-平均)^2 +…+(cells(1000,6)-平均)^2
> で計算できますので、これをデータの最後まで、For文を使って計算してください。
> 平方根は、Excelのセルに書くときはSQRTですが、VBAではSqrです。
と書きましたが、これはプログラム上の難点を書いただけで、分散の計算を完結させるには(データの個数)または(データの個数-1)で割る必要があります。

Sub report()

i = 2
Do While Cells(i, 1) <> ""
  i = i + 1
Loop
last = i - 1
Cells(1, 7) = last

For i = 2 To last - 1
  Cells(i, 6) = (Cells(i, 5) - Cells(i + 1, 5)) / Cells(i + 1, 5)
Next i

wa = 0
For i = 2 To last - 1
  wa = wa + Cells(i, 6)
Next i
heikin = wa / (last - 2)
Cells(1, 8) = "変化率の平均"
Cells(1, 9) = heikin

wa = 0
For i = 2 To last - 1
  wa = wa + (Cells(i, 6) - heikin) ^ 2
Next i
hensa = Sqr(wa / (last - 2))
Cells(2, 8) = "変化率の標準偏差"
Cells(2, 9) = hensa

End Sub

プリントアウトの方法

レポートはどちらかというとメールの方がコメントを付けて返信し易いのですが、プリントアウトしたものでも構いませんし、プリントアウトしてゆっくり考えたいという人も居るでしょうから方法を説明します。

Visual Basicのファイルから印刷を選びます。

もし「OneNote 2007に送る」と書かれていたら、OKを押さずに設定を押します。

プリンタ名の部分で\\http://を選びます。

使用するプリンタが\\http://になったらOKを押します。

これでプリントアウトできます。

分散の計算

分散を求めるには
  1. 平均を求めて
  2. 各々のデータから平均を引いて2乗してから足して
  3. 和を(データの個数)または(データの個数-1)で割ります。
標準偏差は分散の平方根です。

さて問題は(データの個数)で割るか(データの個数-1)で割るか、ですが、

  • 手に入ったデータだけを考えて、そのデータの分散や標準偏差を計算するには(データの個数)で割ります。
  • 手に入ったデータを利用して、これから手に入るデータの確率分布の分散や標準偏差を推測するには(データの個数-1)で割ります。

練習

株式指数データの解析を進める前に、分散の推定に関してプログラムを書いてみましょう。
VBAで
Rnd()
と書くと[0,1]区間上の一様乱数が得られます。これを用いて
Sqr(-2 * Log(Rnd())) * Cos(2 * Application.Pi() * Rnd())
と書くと標準正規分布に従う乱数が得られます。(Box-Muller method)

推定方法の良し悪しを比較するために、シミュレーションしてみましょう。

  1. 標準正規分布に従うデータを、乱数を用いて10個得ます。1行のAからJまで、つまりCels(1,1)からCells(1,10)までに書き込んでください。
    データを得たらひとまず「このデータは標準正規分布に従う乱数から得られた」ことを忘れます。
    そしてデータだけを見て、この分布の平均、分散を推定してみましょう。元は標準正規分布ですから、平均の推定値はは0、分散の推定値は1に近いほうが良いです。
  2. まず平均を推定します。10個のデータを足して10で割った値が分布の平均の推定値です。これをL列、つまりCells(1,12)に書き込んでください。
  3. 次に10個のデータそれぞれから今求めた平均を引いて二乗して足します。足したものをデータの個数である10で割った値をM列、つまりCells(1,13)に書き込んでください。ぴったり平均0、分散1にはならないと思います。
  4. そこでこのデータ観測と推定を1000回繰り返して、1000個の平均の推定値、分散の推定値を求めて、それら推定値の平均を求めてみましょう。
    先ほどは1行目に書きましたが、これを同じことを1000行目まで繰り返します。するとL列、つまりCells(1,12)からCells(1000,12)までに1000個の平均の推定値が、M列、つまりCells(1,13)からCells(1000,13)までに1000個の分散の推定値が得られます。
    Cells(1,15)にCells(1,12)からCells(1000,12)までの平均を、 Cells(2,15)にCells(1,13)からCells(1000,13)までの平均を書き込んでください。
    Cells(1,15)は0に近いと思いますが、Cells(2,15)は1よりも小さく、0.9前後になるでしょう。
  5. では今度は1行目から1000行目までの各行に関して、10個のデータから平均を引いて二乗したものを足して(データの個数-1)である9で割ってN列に書き込んでください。
    そしてCells(1,14)からCells(100,14)までの平均をCells(3,15)に書き込んでください。
    今度は1に近いと思います。
このように、データに基づいて分布の分散を推定するときには(データの個数-1)で割ります。
講義のときは100回にしていましたが、100ではまだばらつきが大きいので1000回に変更しました。また見やすいように10個のデータと平均の推定値の間を一列空けました。

対数変換

一昨日から今日までの株価の変化率と、昨日から今日、一昨日から昨日の変化率の間には
 今日の株価  今日の株価 昨日の株価
------=-----×------
一昨日の株価 昨日の株価 一昨日の株価
という関係があります。よってこの間の平均変化率を求めるには、この右辺の平方根を計算して相乗平均を求める必要があります。
一般に掛け算とかn乗根は計算しづらいですし、統計で広く用いる平均と違うので面倒です。

そこで掛け算を足し算に変換するために、対数を考えることにします。すると
 今日の株価  今日の株価 昨日の株価
------=-----×------
一昨日の株価 昨日の株価 一昨日の株価

Log(今日の株価)-Log(一昨日の株価)=(Log(今日の株価)-Log(昨日の株価))+(Log(昨日の株価)-Log(一昨日の株価))
という、足し算、引き算の式になります。
これを先ほど計算したF列の隣、G列に書きます。
対数の底は10でもeでも上記の計算は成り立ちますが、底がe、つまり自然対数の方が
log(x)≒x-1
という近似式が成り立つので、
log(今日の株価÷昨日の株価)≒今日の株価÷昨日の株価-1≒(今日の株価-昨日の株価)÷昨日の株価
なので先ほど求めた変化率と似た値になります。

計算 G2セルに
=LN(E2)-LN(E3)
と書いても計算できますが、先ほど同様VBAを使って計算して下さい。但し自然対数はExcelのセルに書くときはLnですが、VBAで書くときにはLogです。

練習

TOPIXの自然対数の前日との差を求め、その平均をCells(3,9)、標準偏差を(4,9)に表示するプログラムを書いてください。

ヒストグラム

全部出来た人は、F列の変化率や、G列の対数の差のヒストグラムを書いて見ましょう。Excelでのヒストグラムの書き方の概略は統計学Iに書いています。
ヒストグラムの階級は、-7.5%から7.5%まで0.5%間隔、つまり-0.075から0.075まで0.005間隔にしてみてください。
今回のデータではどちらも正規分布っぽく見えますが、一般には対数の差の方が正規分布に従います。このように、対数にすると正規分布に従う分布を「対数正規分布」と呼びます。

2008-05-28

ANAブロンズ会員

タカシマヤゴールドカードで、ANAブロンズ会員並みのサービスが受けられるそうです。
私はそんなに飛行機に乗らないし、私の周囲の人は去年修行してプラチナなのですが、忘れないようにここに書いておきます。

ついでにカードのポイント移行について。
UFJカード
楽天、またはビックポイントへ移行すると 10万円=100ポイント=500ポイント=500円なので0.5%、
JALのマイルへ移行すると 10万円=100ポイント=200マイルになります。
1年間で50万円使うと翌年は1.2倍、100万円使うと翌年は1.5倍です。

DCカード
楽天、またはTポイントへ移行すると 10万円=100ポイント=500ポイント=500円なので0.5%、
JALのマイルへ移行すると 10万円=100ポイント=250マイルになります。
DCカードは利用額によって倍率があがったりしないようです。

JCB
楽天、Tポイント、ビックポイントどれでも 10万円=100ポイント=500ポイント=500円なので0.5%、
JTBのトラベルポイントだと0.4%、マイルはJALもANAも10万円で300マイルですが、
法人カードの場合、僅かな例外以外「ポイント移行」は出来ないそうです。
<例外>
「Oki Dokiポイント」→「ドコモポイント」(「ドコモプレミアクラブ」へ法人名義で入会している場合)
「プレッツポイント」→「Oki Dokiポイント」
ですから、キャッシュバックか本を買うかですね。本なら最高で0.5%近くにはなります。と思いましたが法人カードだとキャッシュバックも出来ません。
またUFJ同様、1年間で50万円使うと翌年は1.2倍、100万円使うと翌年は1.5倍です。

三井住友VISA
楽天、Tポイント、ビックポイントどれでも 10万円=100ポイント=500ポイント=500円なので0.5%、
もし毎年100万円使うならボーナスポイントはゴールドカードだと300ポイント=1500円なので元々のポイントと合わせて6500円。UFJやJCBの1.5倍の方が良いですね。

これらより還元率の高いカードはありますが、この中から選ぶならUFJカードからBIC Suicaカードへポイントを移してSuicaとして使う、でしょうか。それでも最高で0.75%で、BIC Suicaカードそのものの1%に届きません。不正使用時の対応など、ポイント以外の良さを比較した方が良いのでしょう。

2008-05-26

WILLCOM 03

WILLCOM 03
Advanced/W-ZERO3[es]の後継機になるのでしょうか。画面が3.7インチくらい大きければ、現在のW-ZERO3から買い替えるのですが…
ウィルコムとフェリカネットワークス、モバイルFeliCa導入で合意だそうです。

今日は右手が上がらず、講義は口頭+左手の板書でした。大きい字は案外左手でも書けるものです。でもややこしい漢字は無理でした。

2008-05-24

空の青は煙雨を待ち、僕は君を待っている。

青花瓷 詞/方文山 曲/周杰倫
天青色等煙雨 而我在等妳…
作詞者本人のブログですので、著作権は問題ないのでしょう。

Google八分発見システム

Project ∞Eyes(エイト・アイズ)
インターネットに接続されたパソコンの空き時間を利用して処理するそうです。

2008-05-23

Vista Workstation

Vistaは長所もあるけれど、不要な機能があって遅いし、不要な機能の中にバグが含まれていたらそんなのに悩まされるのは嫌だ、ということで、Windows Server 2008をデスクトップOSとして使おうという話です。
Windows Server 2003 / 2008 をデスクトップOSとして使うまとめWiki - トップページ
Convert your Windows Server 2008 to a Workstation!

「ディスクの書き込みキャッシュを有効にする」の下の「拡張処理能力を有効にする」にチェックをつけると、性能は上がりますが、書き込み完了前に電源が切れるとファイルが壊れるのでUPSが無いならチェックをつけない方が良いのですが、ノートパソコンならチェックをつけて大丈夫でしょう。これはWindows Server 2003や64bit版Windows XPでも有効です。
msconfigで設定できる、スタートアッププログラムに関しては、Microsoft以外のものについては多分XPと同じです。

標準状態では殆どの機能が止めてあります。Vista風の画面とか無線LAN機能を追加するには
サーバーマネージャ
機能
機能の追加
の中から
デスクトップエクスペリエンス:Vista風の画面のために
ワイヤレスLANサービス:無線LANのために
LPRポートモニタ:LPRでプリントアウトするために必要かなと思いましたが、要りませんでした。
を組み込みます。さらに
サーバーマネージャ
構成
サービス
から
Themas:Vista風の画面のために
Windows Audio:音を出すために
WLAN AutoConfig:無線LANのために
を自動に設定します。

Vistaインストール後にやるべき作業にはWindows Vista スタンダードというのがあってこれがCPUへの負荷も少なくて良さそうなのですが、これはWindows Vista Home Basic専用らしいです。ですのでWindows Aeroが選択可能ならそれを、そうでなければWindowsスタンダードかクラシックが良いです。

インストール直後では、Internet Explorerのセキュリティが高すぎてサーバー管理なら兎も角普通には使いづらいので サーバーマネージャ
IE ESCの構成
からOFFにします。

Vistaの新機能SuperFetchを有効にするには、レジストリエディタ(regedit.exe)を起動して HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management\Prefetch Parameters に
EnablePrefetcher 3 DWORD
EnableSuperfetch 3 DWORD
を追加して
サーバーマネージャ
構成
サービス
Superfetchを自動にします。でも効いているのかな?それにしては起動時のディスクアクセスがVistaと比べて少ないです。でもタスクマネージャで見るとキャッシュ済みが殆どで、空きメモリがたった19MBですから効いているみたいです。ではVistaの起動直後のディスクアクセスの多さは何をしているのでしょう?

シャットダウンするときに理由を聞かれるのを止めるには、
gpedit.msc を起動して
コンピュータの構成
管理用テンプレート
システム
シャットダウンイベントの追跡ツールを表示する
無効
にします。

パスワードの複雑性が要求されます。Windows Server 2008 RC1ファーストインプレッション
大文字、小文字、数字、記号の4種類の中の3種類以上が必要です。
この方が安全なのですが、他とあわせるために緩くするには
管理ツール
ローカルセキュリティポリシー
アカウントポリシー
パスワードのポリシー
で変更できます。

Windows Server 2008 ライセンス認証エラー 0x8007232B "DNS名がありません。"と表示されたので何のことかなと思ったらかめスペースにも書かれていたようにプロダクトキーを変更すれば解決しました。

写真が縮小表示されない、っと思ったら「拡張子を表示しない」などと並んで「常にアイコン表示し、縮小版は表示しない」にチェックがついていました。

止めたサービスの一覧。XP用に作ったリストより少ないです。止めて良いか良く分からないのが多いし、最初から止まっているのもあるし。

  • Distributed Link Tracking Client
    WindowsServerドメインに接続していて、NTFSファイルシステムを使用しているなら自動。その他なら不要。
  • DNS Client
    DNSをキャッシュする。HOSTファイルを増やすときには止めないととても遅くなるので無効に。
  • IP Helper
    IPv6は使わないから
  • Remote Registry
    他のPCからレジストリを変更できるようにするもの。不要。
  • Tablet PC Input Service
    Tablet PCのペンやインク機能。面白いけどメモリの無駄
  • Themes
    Aeroを使っているときには止めない。
  • Windows Error Reporting Service
    エラー報告

hirojiのWindowsの秘密にも色々書いてあります。

2008-05-22

株価変化率

レポートの解答例

Sub Macro1()
i = 0 '何番目の表を読み込むかを表す変数
Do
 j = 1
 Do While Cells(j, 1) <> ""
  j = j + 1
 Loop '何行目から貼り付けるかを調べる

 With ActiveSheet.QueryTables.Add(Connection:= _
  "URL;http://table.yahoo.co.jp/t?c=1991&a=1&b=4&g=d&s=998405.t&z=998405.t&y="& i * 50, Destination:=Cells(j, 1))
  .Name = "t?s=998405.t&g=d"
  .FieldNames = True
  .RowNumbers = False
  .FillAdjacentFormulas = False
  .PreserveFormatting = True
  .RefreshOnFileOpen = False
  .BackgroundQuery = True
  .RefreshStyle = xlOverwriteCells
  .SavePassword = False
  .SaveData = True
  .AdjustColumnWidth = True
  .RefreshPeriod = 0
  .WebSelectionType = xlSpecifiedTables
  .WebFormatting = xlWebFormattingNone
  .WebTables = "19"
  .WebPreFormattedTextToColumns = True
  .WebConsecutiveDelimitersAsOne = True
  .WebSingleBlockTextImport = False
  .WebDisableDateRecognition = False
  .WebDisableRedirections = False
  .Refresh BackgroundQuery:=False
 End With

 If i > 0 Then
  Rows(j).Delete
 End If '最初以外、日付などの行を消す

 i = i + 1 '何番目の表を読み込むか、を表す変数を一つ増やす

Loop While Cells(j, 1) <> "" '貼り付けた表が空っぽなら終了、そうでないなら繰り返す
Rows(j).Delete '一番最後の週間、月間を削除
Rows(j).Delete
End Sub

'の後はコメントになります。
レポートが完全に出来なかった人は、この解答例を使ってデータを読み込んでください。

騰落率とその分布

株価指数のデータですので、その変化を見てみましょう。
株価の場合、差ではなく変化率に注目します。
つまり「今日の株価-昨日の株価」ではなくて
「(今日の株価-昨日の株価)÷昨日の株価=今日の株価÷昨日の株価-1」を計算します。
何故なら、例えば10,000円投資する場合に、1,000円の時に10円変化することと、2,000円のときに20円変化することを考えると、
1,000円ならば10株買えて、一株10円上がれば10×10=100円の利益
2,000円ならば5株買えて、一株20円上がれば20×5=100円の利益
となり同等ですから、10円上がったか20円上がったかということではなくて1%上がったということに注目するのです。

では実際に変化率を計算しましょう。表計算ソフトですから、F2セルにE3からE2セルへの変化E2-E3を、率になおすためにE3で割った
=(E2-E3)/E3
を書いて、これを下までずっとコピーすれば計算できます。
但し

  • 今回のように長いデータだとコピーするのが大変です。
  • このようにセルに入力された式は、何かの操作をするたびに再計算されますので4000以上も式を入力するとExcelが遅くなります。
再計算を止めさせる事も出来ますが、そもそも変化率は一度計算したら再計算する必要が無いのでVBAで計算してしまいましょう。

レポート課題


  1. まず最初にデータが何番目の行まで入っているか数えるプログラムを書いてください。
    この値は今後何度も使うので、Cells(1,7)(G1セル)に表示してください。
  2. Cells(2,6)に(Cells(2,5) - Cells(3,5)) / Cells(3,5)を計算した値を代入し、同様の計算をデータの一番下まで繰り返すプログラムを書いてください。
  3. 次にその変化率の平均を求めて、Cells(1,9)に表示してください。
    Cells(1,8) = "変化率の平均"
    と書くと分かりやすいです。
    平均は全部足して、足した個数で割れば求められます。全部足す方法ですが、例えばcells(1000,6)まで足すとして
    cells(2,6)+cells(3,6)+cells(4,6)+…+cells(1000,6)
    のような沢山の足し算をプログラムに書くことは出来ませんし、このままではFor文で書くことも出来ません。そこでまずFor文で書けるような形に書き直します。
    a=0
    a=a+cells(2,6)
    a=a+cells(3,6)
    a=a+cells(4,6)

    a=a+cells(1000,6)
    と書けばcells(1000,6)まで足すことが出来ますし、これならばFor文を用いて書くことが出来ます。
  4. さらに変化率の標準偏差を求めてCells(2,9)に表示してください。標準偏差は分散の平方根で、分散は例えばcells(1000,6)までなら
    (cells(2,6)-平均)^2 + (cells(3,6)-平均)^2 +…+(cells(1000,6)-平均)^2
    で計算できますので、これをデータの最後まで、For文を使って計算してください。
    平方根は、Excelのセルに書くときはSQRTですが、VBAではSqrです。
TOPIXは1740から1400以下まで下がっているので、騰落率の平均はマイナスになると思われます。もしプラスになったら、理由を考えてみましょう。

難しい問題です。

ねたミシュランに載っていました。

2008-05-18

銀行の手数料無料サービス

大雑把に調べてみました。 詳しいことは各銀行のホームページを見てください。特に他行ATM時間外手数料無料条件については、時間も、使える範囲もまちまちですので、単に条件だけを見ても意味ないです。
銀行名サービス名サービス維持料無料条件他行ATM時間外手数料無料条件他行振込み手数料無料条件
中国銀行ドリーミークレジットカード年間利用額10万円以上、または携帯電話か電気料金をクレジットカードで払うATM設置先の定めによる無料にならない
トマト銀行トマトMOTTOカード口座残高10万円以上、または1年間でクレジットカードを利用する他行は無料にならない無料にならない
三井住友銀行ファーストパック無料Web通帳、または残高30万円以上、など無料にならない
三菱東京UFM銀行メインバンク残高10万円以上残高50万円以上残高500万円以上
みずほ銀行マイレージクラブ無料クレジットカード利用、または残高50万円以上、など無料にならない
住友信託銀行ユア・パートナー無通帳残高100万円以上(今はキャンペーンで無料)残高100万円以上(今はキャンペーンで無料)
野村信託銀行野村の預金箱無条件無料(野村證券のカードを使う)今はキャンペーンで無料
住信SBIネット銀行無条件無条件無条件今はキャンペーンで月3回無料
シティバング銀行e-セービング無条件残高100万円以上無料にならない
新生銀行無条件無条件無条件月3回まで無料、7月からは月1回無料
話は変わってクレジットカード。 普通、プラチナカードとかブラックカードというのはゴールドカードより年会費も限度額も高いカードなのですが、トマト銀行のプラチナカードやブラックカードは普通のカードの色違いです。

ATM手数料、無料化へ 大手銀も含めたサービス競争が加速:投資&お金活用実践Webマガジン MONEYzine(マネージン)
> 6月2日からトマト銀行、中国銀行、おかやま信用金庫など11金融機関が、ATMによる現金出金時・振込時の他行利用手数料を一斉に無料化する。

2008-05-16

第一章の実習

講義で説明した度数分布表やヒストグラムを、表計算ソフトのエクセルを使って作成する方法を説明します。
Excelを使ったことが無い人は、総合情報基盤センター利用の手引き第2分冊第三章も読みながらこのホームページを読んで下さい。

準備

下図のようにメニューを辿ってExcelを立ち上げましょう。
初めて使う時にはいくつか聞かれますので、共にOKを押してください。

左上の丸いボタンを押して、「Excelのオプション」をクリックします。そして左側の「アドイン」をクリックして、下の「管理:Excelアドイン」の横の「設定」をクリックします。

するとアドインの画面に切り替わるので「分析ツール」にチェックをつけてOKをクリックします。 「インストールしますか」と聞かれたら「はい」と答えます。

教科書の例

例1.1例1.2例1.6
120
106
112
168
120
140
160
160
116
118
104
172
130
124
134
142
112
112
110
120
134
136
138
144
120
120
160
108
140
98
142
130
138
126
108
120
136
118
118
122
128
124
110
134
116
138
116
158
106
166
118
158
124
124
110
166
132
126
122
132
4
5
5
6
6
8
8
8
8
8
9
9
10
10
11
11
11
11
12
12
13
13
15
16
16
16
17
18
20
20
生徒身長座高
115988
215084
315786
415381
515883
615285
715583
815783
914576
1015885
1116185
1215083
1314879
1415484
1515485
1615985
1714983
1815586
1915384
2016088

例1.1 度数分布表とヒストグラム

教科書例1.1のデータをエクセルに入力します。キーボードから入力するか、あるいは上の表をコピーして、エクセルに貼り付けます。


次に、階級の境界の数字をC2セル以降に入力します。

右上の「データ分析」をクリックして「ヒストグラム」をクリックしてOKを押します。
以下のように入力してOKを押します。

教科書で度数と書かれている部分が、エクセルでは頻度と表示されます。その右には累積相対度数が表示されます。
教科書と同じ結果になりましたか?もし違うなら、その理由を考えてみてください。

例1.2、例1.4 1変量の特性値を求める

エクセル左下のSheet2をクリックして、新しいシートに切り替えます。

まずデータ、などの文字を下図のように入力します。そして二番目の行に例1.2のデータをコピーします。

まず合計を求めるためにF2セルに =SUM(A2:A31) と入力します。

同様に平均と中央値を求めるためにF3セルとF4セルにそれぞれ
=F2/30
=MEDIAN(A2:A31)
と入力します。

B列に平均との差を求めるため まずB2セルに
=A2-F$3
と入力し、B31セルまでコピーします。

覚えておくと便利なこと

B2セルに =A2-F3 と入力すると、B3セルにコピーしたとき =A3-F4 に変化します。一行下へコピーしたのでA2がA3に変化するのは嬉しいですが、平均はF3セルに入っているのでここがF4に変化するのは嬉しくないです。このような時は、 =A2-F$3 のように前に$をつければ、その文字はコピーしても変わりません。
C列とD列にそれぞれ平均との差の二乗と絶対値を求めるためにまずC2, D2セルにそれぞれ
=ABS(B2)
=B2^2
と入力し、C31,D31セルまでコピーします。

平均の差の絶対値の和を求めるためにF5セルに
=SUM(C2:C31)
と入力します。

平均偏差を求めるためにF6セルに
=F5/30
と入力します。

平均の差の二乗和を求めるためにF7セルに
=SUM(D2:D31)
と入力します。

分散を求めるためにF8セルに
=F7/30
と入力します。

標準偏差を求めるためにF9セルに
=SQRT(F8)
と入力します。

実はエクセルには分散などを直接求める関数が用意されています。しかし、どのように計算して求めるのかを理解しておくことも重要です。特に分散を求める関数としてExcelにはVARとVARPがあります。今回勉強した標本分散を求めるにはVARPを使わなければなりません。 VARとVARPの違いは、講義で「推定」を勉強したときに教えます。

例1.6 2変量の相関を調べる。

エクセル左下のSheet3をクリックして、新しいシートに切り替えて、例1.6のデータをコピーします。
散布図を描きましょう。
(1)ワークシート例1.6を選択します。
(2) B2セルの上でマウスの左ボタンを押して、押したままC21セルまでマウスを移動させて左ボタンを離します。

(3) 上の「挿入」から「散布図」の「散布図(マーカーのみ)」を選びます。

すると図のような散布図が得られます。マウスを合わせるとそれが何番目のデータで、x,yの値が何であるか表示されます。

次に回帰直線をExcelに書いてもらいましょう。データ点のどれかにマウスを合わせて右ボタンを押して、表示されるメニューから「近似曲線の追加」を選びます。

「近似または回帰の種類」は「線形近似」を選び、また式も見たいので、「グラフに数式を表示する」にチェックをつけて、閉じるをクリックすると、回帰直線とその式が表示されます。
「近似または回帰の種類」を変更するといろいろな曲線が表示されます。

練習問題

例1.2で分散を計算したように、身長や座高の平均、分散、共分散、相関係数を計算してみましょう。そして回帰直線の傾きa、定数項bを計算して、先ほどの散布図に表示された回帰直線の式と一致するか確かめてみましょう。

2008-05-15

先週のレポートの完成

今週は、先週出題したレポートの完成に向けて、おのおのに応じた説明をします。
但し、2時から50周年記念館で会議、それも遅れて途中から入れない会議ですので、1時間で講義を中断します。すみません。

ポイント
データを最後まで読み込んだかどうかの判定は、データを貼り付けた後で「データを貼り付け始めた位置」が空白だったら、今回は何もデータを貼り付けていないので「データを最後まで読み込んだ」と判定します。

よって、繰り返しは
これまでに貼り付けられたデータの最後の行を調べて、その次の行から貼り付ける
貼り付けた最初の行を消す(日付、とか書かれているから)
貼り付けた最初の行が空白でないなら、今回データを貼り付けたということだから繰り返す
という順序になります。

この繰り返しの途中で、何番目の表を読み込むのか、を表わす変数を1増やします。

2008-05-14

環境数理学概論

今年もナカシマプロペラへ行き、その後閑谷学校へ行きました。
ことしはY川さんから買った85mm中望遠レンズを持っていったのですが、閑谷学校で使うには画角が狭すぎました。35mm広角レンズも持っていけばよかった…
他の先生が撮られた写真
お昼ごはんのときに、中国語を履修している学生さんと話をしました。

2008-05-12

RamDisk

32bit Windowsの管理外領域をRAM Diskに使うを読んで、ずっと前、MS-DOSの頃、RAM DISKを使っていたことを思い出しました。
RAM DISK を使ってみるで紹介されているERAMが速いそうです。

2008-05-08

Webからの連続取得

復習

2週間ぶりですので前回の内容を思い出すところから始めましょう。
最新から50日分のデータをA1セルから読み込みます。1行目に「日付 始値…」が書かれ、2行目から51行目までにデータが貼り付けられます。
よって52行目から、次の50日分のデータを貼り付けることになります。
これを10回繰り返すプログラムを書いてください。

貼り付け位置の調整

ライブドアの株式分割のように、50日分のデータが必ずしも50行分に貼り付けられるわけではありません。
従って、毎回51行ずつ下に貼り付けるのではなく、貼り付けた後で何行目までに貼り付けられたのかを数えて、次回はその次の行に貼り付けてください。
4月17日の最後に勉強したプログラムを応用すれば出来ます。

ポイント
これまでは「最初の表は1行目から貼り付ける、次の表は52行目から貼り付ける」という規則性がありましたが、今度は最初の表は1行目から貼り付ける点は変わりませんが、次の表を何行目から貼り付けるかを数えなければなりません。従って「何番目の表なのかを表す変数」と「どこから貼り付けるかを表す変数」を別に用意してください。

余分な行の削除

「日付 始値…」の行は最初に一行あれば十分です。2回目に52行目から貼り付けた後で52行目を丸ごと削除してしまいましょう。
ヒント:52行目を削除するプログラムは「マクロの記録」を使って調べることも出来ますが、一番手短なのは
Rows(52).Delete
です。Rowsの後の括弧の中の数字が、消したい行の番号です。

最後まで全て取得しましょう

ここまでは、For i = 0 To 10 を使って11回取得しましたが、現実的には「データの最後」まで繰り返し取得する必要がありますし、最後まで取得するには何回取得するか予め数えるのも大変です。
そこで先ほどの「貼り付けた後で何行目までに貼り付けられたのかを数えて」一行も貼り付けられていなかったら反復を終わらせる、というプログラムを書いてください。 4月17日に勉強したwhileやuntilを使えば出来ます。

これで株価データの取得は一区切りつきましたので、ここまでのプログラムをレポートとして提出してください。
締切:5月22日の講義開始まで 提出方法:メールまたはレポート用紙

応用

気象庁の過去の気象データ検索に関しても同じようにプログラムを組むことでデータを自動的にダウンロードできます。

2008-05-07

2変量の相関を調べる

  1. 散布図を描きましょう。
    (1)例1.6のデータを入力します。
    (2) B2セルの上でマウスの左ボタンを押して、押したままC21セルまでマウスを移動させて左ボタンを離します。

    (3) ツールバーの「挿入」から「グラフ」を選びます。

    (4) 「散布図」を選んで「完了」を押します。

    (5) すると次のような散布図が出来上がります。

  2. 回帰係数を求めます
    (1)ワークシート例1.6が選択されていることを確認します。グラフが邪魔でしたら横へ移動させてください。
    (2)先ほどの方法でも平均は計算できますが、今度はEXCEL関数の使い方を勉強するためにExcel関数を使って身長の平均をB22セルに計算します。 まずB22セルを選択し、挿入タブ→関数をクリックします。


    (3)すると「関数の貼り付け」が開かれます。そこで「関数の分類」から「統計」を、「関数名」から「AVERAGE」を選択し、OKを押します。
    (4)平均を取るデータの範囲を決定するため、数値1ボックスの右の赤い矢印が書いてあるボタンを押します。


    (5)身長データB2:B21を選択し終えたら、もう一度数値1ボックスの右のボタンを押すことでデータの範囲が確定されます。


    (6)OKを押せば、B22セルに身長の平均が入力されます。
    (7)座高についても平均を計算します。今回はB22セルをコピーしてC22セルに貼り付けるだけで結構です。
    (8)D列に身長から身長の平均を引いた値を2乗した値を計算します。まずD2セルに=(B2-B$22)*(B2-B$22)と入力してください。B22セルは先ほど計算した身長の平均が入っているセルです。
    (9)D2セルをコピーします。これをD21セルまで貼り付けて、すべての身長データの平均との差の2乗を求めてください。
    (10)E列では座高の平均との差の2乗を計算します。これもD列をコピーしてE列に貼り付ければOKです。
    (11)F列では身長と座高の平均との差の積を計算します。F2セルに=(B2-B$22)*(C2-C$22)と入力してください。あとはF2セルのコピーをF21セルまで貼り付けてください。
    (12)D列、E列、F列に対しても平均を求めます。これもB22セルをコピーして、D22セル、E22セル、F22セルに貼り付ければOKです。
    (13)実際に回帰係数を求めていきます。例1.6のデータの場合、身長はX、座高はYにそれぞれ対応しています。教科書p.27のaとbの式を参考にして、aをG24セル、bをG25セルでそれぞれ計算します。G24セル、G25セルにどのような式を入力すればよいでしょうか。
    ヒント:B22~F22の数値を使って計算しますが、中に一つだけ使わないものもあります。

    正しい式を入力すると以下のようになります。

    これで回帰係数を計算することができました。

    ツールバーの「グラフ」の中の「近似曲線の追加」を使うと、次のような回帰直線とその式を書くことも出来ます。

    自分で計算した回帰直線の係数と等しいことを確認してください。

2008-05-05

AdAware

フリーのスパイウェア検出ソフトですが、新しいバージンが出て以来自動アップデートが出来なくなっています。マルウェアの検出はこのバージョンのほうが良いので、手動アップデートの方法を調べてみました。

defs.refを最新版と入れ替えれば良いのですが、現在使っている方法は中小企業で働くWeb制作担当者のメモ帳に紹介されていた方法です。

他の方法としては
http://download.lavasoft.com/public/defs.refあるいは http://download.lavasoft.com/public/defs.zipから入手する、あるいは予めdefs.refを他の場所に移動してから立ち上げると自動更新できるという説もあります。

Spybotも1.5になってから「防御する機能」があがったのは良いのですが、baidu.comへも接続できないようにしてくれたりして、少々防ぎすぎ、というか作者の価値観で悪いと思ったサイトを弾いている様に思えます。中小企業で働くWeb制作担当者のメモ帳にも同様の記述があります。
この人、他にも面白いこと書いています。

2008-05-04

QUICPay

私は、クレジットカード払えるお店ではカードで払ってポイントを貯めています。
これまで、カードが使えなかったりあまりにも小額で使いづらい場合、Edyが使えるなら
・予めクレジットカードからEdyにチャージしておく。この時点でカードのポイントが貯まります。
・そのEdyで支払う
という手で実質的にカード払いと同じポイントを貯めてきました。
しかし最近ではカードからEdyへのチャージではポイントが貯まらないように改正されてしまいました。
そうなると、いつ使うか分からないEdyを予めチャージしておくのは面倒になります。

QUIC Payを使うと、クレジットカードを使った後払いになり、しかもポイントも貯まるそうです。早速申し込みました。

2008-05-03

岡山でSuicaとかPASMOとかICOCAとかPiTaPaとかHarecaとか

出張でJR東日本や関東の私鉄を使うことが多いのでSuicaかPASMOを持つことを考えてみました。
岡山ではICOCAとかPiTaPaとかHarecaとかありますが、これらはPASMOエリアで使えません。
SuicaはPASMOエリアとICOCAエリアで使えますが、PASMOはPASMOエリア自身の他はSuicaエリアだけでしか使えません。
ということでSuicaを持つことにして、ついでにオートチャージが出来て年会費無料のクレジットカードを探すと
ビュー・スイカ リボカード定期を作れる、けど要らない
イオンSuicaカードイオンカードなら持っているし使っている
スーパーICカードSuica「三菱東京UFJ-VISA」Edy付カードを持っていてEdyとの併用は出来ない
ジェクサービュー・スイカカード会員専用

ということでイオンカードをSuica付に切り替えようかと思いましたが、現在持っているWAON付イオンカードでは切り替えられないと言うことで、いったん解約してからになるのでしょうか?連休明けに確認してみます。

5月19日追記
WAONを外すことは出来るけど、イオンSuicaカードを作ると家族カードを作れないそうです。
また、首都圏以外のSuicaエリアおよびJR西日本「ICOCA」エリアでは、オートチャージサービスはご利用いただけませんとのことですし、JR東日本エリアでなければ現金からのチャージも出来ないので出張時だけ使うことになりそうです

5月26日追記
では岡山で使うには、ということでICOCAとPiTaPaについて調べてみました。
イオンカードでスマートICOCAが作れるそうです。
ANA PiTaPaカード PiTaPaのポイントをマイルに移せるそうです。
正確にはバス、鉄道以外の買い物で使うと貯まる500ショップdeポイント⇒20マイル、及び10,000マイル⇒100,00ショップdeポイントです。100,00ショップdeポイントはポストペイド10,000円分です。
PiTaPaはICOCAエリアではプリペイドでしか使えないので条件はICOCAと同じ。ポイントが貯まると言っても100円で1ポイント≒0.1円なのでありがたみは少ないです。となるとイオンカードでスマートICOCAの方が良いかな?マックスバリューもあるし。

Viewカードでエクスプレス予約会員になれるらしい - R.K.Mの「お酒ばかり飲んではいけません」 - 楽天ブログ(Blog)

FeliCaポート/パソリサポート
> 「SFCard Viewer 2」は、「FeliCaポート/パソリ」が接続されたパソコンで「Suica」や「TOICA」、「ICOCA」、「PASMO」、「PiTaPa」、「nimoca」など(ストアードフェア機能カード)などの残高、利用履歴を最大20件まで表示することができるソフトウェアです。 というのを見つけました。便利そうです。

2008-05-02

Peer Guardian 2

怪しげなサイトへ繋がるのを防いでくれるソフトです。
現時点ではpg2-rc1-test2-2.exeが最新のようです。
管理者権限を持ったアカウントで使う必要があり、 私は普段は管理者権限のないアカウントを使っていますので「別のユーザーとして実行」を指定してこれだけを管理者権限で使っています。

インストールして最初に起動すると、接続防止リストとして「P2P」だけがチェックされています。
これはP2Pを使っている人向けに、P2Pを取り締まっている企業などに繋がるのを防ぐためのリストですのでP2Pを使っていない人には不要なだけでなく、パソコン関連の大手企業に繋がらなくなってしまいます。
よって「P2P」のチェックを外して「Ads」「Spyware」にチェックをつけます。
またList Managerでbluetackの中からads-trackers-and-bad-pr0n, Hijacked, Spyware, Trojanも加えます。
大手のニュースサイトを見ていても、背後でこっそり怪しげなサイトへも繋ごうとしているのを防いでいることが分かりますので、使っておいたほうが良さそうだと分かります。
また、スパイウェアは他のWebページと同じくHTTPを使いますので、Allow HTTPにはしない、つまりHTTPもBlockしておいた方が良いです。
Phoenix Labsから入手できます。

2008-05-01

岡山のテレビ局

4月から岡山に住み始めた人も多いと思いますので整理しておきます。
地上デジタル放送局名略号系列地上アナログ
1NHK総合5
2NHK教育3
4西日本放送RNC日本テレビ9
5瀬戸内海放送KSBテレビ朝日25
6山陽放送RSKTBS11
7テレビせとうちTSCテレビ東京23
8岡山放送OHKフジテレビ35