2007-10-03

データ解析システムオリエンテーション

この講義では、エクセルのシートに入力されたデータを解析するためのVBA (Visual Basic for Application)プログラミングを勉強します。今回はデータ解析に必要となる基本操作、入出力を勉強します。

まずセキュリティーレベルを中へ変更して下さい。これは一度だけ行えば良いです。但し時々設定が元に戻ってしまうことがあるので、プログラムが全く実行できなくなったときにはセキュリティーレベルが正しく設定されているか確認してください。 次に、プログラムを書くためのVisualBasicEditorを起動して下さい。今後ここにプログラムを書きます。プログラムはExcelではマクロとも呼びます。

実際にプログラムを書いてみましょう。VisualBasicEditorを起動したら、

をクリックして、標準モジュールを開いてください。開いたらプログラムを書きます。
まず最初にプログラムの名前を考えます。今回は「練習1」という名前にしましょう。

標準モジュールに

sub 練習1

と入力してEnterキーを押してください。すると自動的に
 Sub 練習1()
 
 End Sub

となったと思います。「Sub 練習1()」が練習サブプロシージャの始まり、「End Sub」がそのサブプロシージャの終わり、その間にプログラムを書きます。またExcel VBAの専門用語は自動的に最初が大文字に変換されます。大文字に変わらなかったらそれはVBAの用語ではないということです。VBAの用語を入力したつもりなのに変わらなかったら、綴りを間違えた可能性があります。

実際にプログラムを書きます。「Sub 練習1()」と「End Sub」の間の行に

cells(1,1)=1

と書いてプログラムを実行してみてください。ExcelのA1セルに1が代入されて

 AB
11 
2  
このようになった筈です。
このようにVBAからエクセルのシートへ書き込むことが出来ます。

次に進む前に、プログラムを保存してください。
また、保存したエクセルのファイルを開くときに注意することがあります。ここを間違えるとプログラムを実行することが出来なくなります。そんな時は一旦ファイルを保存してから閉じて、改めて開いてください。

さらにCells(1,1)=1の下に
cells(2,1)=2
cells(3,1)=3
と書き込んで実行してみてください。
あるいは
cells(1,2)=-2
cells(1,3)=-3
と書いて、cellsの二つの添え字がExcelのどのセルに対応しているか確認しましょう。

10個続けて書くには、
cells(1,1)=1
cells(2,1)=2
cells(3,1)=3
cells(4,1)=4
cells(5,1)=5
cells(6,1)=6
cells(7,1)=7
cells(8,1)=8
cells(9,1)=9
cells(10,1)=10

と書くのは大変なので、これをFor文を使って

for i=1 to 10
 cells(i,1)=i
next i

と書きます。

ここでプログラムを実行してみてください。

引き続きプログラムを追加します。

for j=1 to 10
 cells(1,j)=j
next j

ここでもう一度プログラムを実行して結果をみてください。

次に下のような九九の表ができるようにプログラムを考えて見ましょう。

講義中に、進度に応じた課題を出題します。
作成したプログラムのSub ...からEnd Subまでをメールの本文にコピーして提出してください。

レポートの提出先は fuedareport@ems.okayama-u.ac.jp です。
※メールを送る際、件名欄に課題の出た講義の日付及び氏名を入力してください。
(Webメールのアドレスは"www.center.ous.ac.jp"です。)
パスワードを忘れた人は、担当の先生に相談してください。

レポート提出以外の連絡は fueda@ems.okayama-u.ac.jp へ 送ってください。

2007-10-01

環境データ解析学オリエンテーション

この講義では、大学院環境学研究科対象に、データ解析に必要となる、計算技法について講義します。
受講生各々の分野によって用いる手法は様々ですので、特に分野を限定せず、各自の分野で構築した理論を計算機で実装するための基礎から学習します。
本来このような計算にはMATLABが適しているのですが、ライセンス購入費用のことも考え、今年の講義ではフリーで利用できるRを用います。
Rの使い方はR-Tipsが詳しいです。

2007-09-14

マンゴーかき氷

とても美味しいマンゴーかき氷を食べました。

お店を紹介しようと写真を撮ったのですが…いくら暑くても洗面器を被らなくても…

暑い中、何の撮影ですか?

「日本電視冠軍」は日本の「テレビチャンピオン」のことみたいです。

御寿司屋さん…ですよね。

台北101へ行きました。

2007-09-12

故宮博物院

この日は美麗華近くのレストランでお昼ご飯を食べて、故宮博物院へ行きました。 故宮博物院で見た山の緑と空の青が綺麗でした。

台湾でも東京タワーが上映されるそうです。

2007-09-04

ジェフグルメカード

全国25,000店舗で使える食事券です。
ネットで見た話によると額割ドットコムから購入すると5%割引で買えるらしいです。
今度試してみます。
使えるお店の検索も出来ます。
私が行くお店では、イオン倉敷のグルメドール、ロイヤルホスト、ガスト、ジョリーパスタ、モスバーガー、ケンタッキー、31アイスクリーム、バーミヤンで使えます。
最近は珈琲館がお気に入りなので珈琲館でも使えるようになって欲しいです。
追記:PeaceTaiwanによると、台湾にも珈琲館はあるそうです。

話は変わりますが、ファミリーマートのFamiポートではEdyによる支払いが出来ませんでした。
ローソンのLoppiでEdyが使えるかどうかは分かりません。でもLoppiではクレジットカードやQUOカードも使えないのでEdyも使えないんじゃないかな?と思っていたら やはり駄目なのだそうです。

2007-08-17

トトロの森を描いた人

8月に東京都現代美術館ジブリの絵職人 男鹿和雄展-トトロの森を描いた人 を見てきました。

これまで何度も見てきた映画の中で、どんな風に考えて、どんな理由でその背景画が書かれたのか、1枚1枚説明されていて、じっくり見ていたらほぼ丸一日美術館の中に居ました。

背景画の展示だけでなく、アニメ作品の中で滑らかに動かし、立体感を持たせるための技術の説明とか、トトロの折り紙コーナーもありました。
トトロの背景画を背景に写真を撮れるコーナーもあるので、デジカメを持って行った方がいいですよ。
残念ながら9月30日までです。チケットは、美術館窓口で買おうとすると行列が出来ていて20分待たされましたが、美術館向かい側のローソンでも買えるそうです。

美術館を出た後はららぽーと豊洲へ行って桂花茶寮で中国茶を楽しんできました。

2007-07-29

統計学I期末試験問題

第1問

(x,y)二つ一組のデータを以下の表のように9組観測した。
x123456789
y123789564
問1 x,yそれぞれの平均、分散、及びxとyの共分散、相関係数を求めなさい。
問2 (x,y)の散布図と回帰直線を描きなさい。回帰直線は式も求めなさい。

第2問

幾何分布G(p)の確率関数はp(x)=p(1-p)x-1 です。この分布の期待値E[X]を求めなさい。

第3問

確率変数X1,X2,…,Xnは独立で、その確率分布はどれも同じであり、 i=1,2,…,nに対しE[Xi]=μ、V(Xi)=σ2であるとする。
問1 定数a,bに対し、aXi+bの期待値と分散を、μとσ2を用いて表しなさい。そしてaXi+bの期待値が0、分散が1になるようなa,bの値を求めなさい。
問2 T=X1+…+Xnの期待値、分散を求め、aT+bの期待値が0、分散が1になるような定数a,bの値を求めなさい。
問3 T=(X1+…+Xn)/nの期待値、分散を求め、aT+bの期待値が0、分散が1になるような定数a,bの値を求めなさい。

第4問

表が出る確率が0.5であるコインを100回投げたときに、表が出た回数をXとする。
問1 Xの確率分布はどのような正規分布で近似出来ますか?
問2 Xが55以上になる確率を正規分布による近似を用いて求めなさい。

2007-07-26

数理統計学IIレポート作成のヒント

解法その1は計量アナリシスの講義と重複するので、ここでは解法その2の説明をします。
各々の図はクリックするともっと大きく見えます。

まずデータをエクセルに貼り付けて、貼り付けた部分を選択して、挿入のグラフを選びます。

散布図を選んで完了を押します。

表示されたグラフを選択したら、メニューバーにグラフの項目が表示されます。その中の近似曲線の追加を選びます。

一次式ならば線形近似、二次式以上なら多項式近似を選んで次数を設定します。ここでOKは押さずに、オプションをクリックしてください。

グラフに数式を表示するにチェックをつけてからOKを押します。

2007-07-19

多項式回帰

実験の結果(x,y)に関して、次の20個のデータが観測されました。
xy
0.000.854
0.050.786
0.100.706
0.150.763
0.200.772
0.250.693
0.300.805
0.350.739
0.400.760
0.450.764
0.500.810
0.550.791
0.600.798
0.650.841
0.700.882
0.750.879
0.800.863
0.850.934
0.900.971
0.950.985
出典:小西貞則、北川源四郎著「情報量規準」共立出版株式会社

このデータに多項式モデル

y=β01x+β2x2+…βpxp+ε, ε~N(0,σ2)

を当てはめてみます。0次多項式(定数), 1次多項式(直線)から6次多項式を当てはめて、それぞれのAICを計算し、何次多項式モデルが最も良いか選択してください。

解法その1
計量アナリシスの講義で、Rを使った多変量回帰を習った人は、x,x2,…,x6を変量として扱うことで、回帰式の係数や、残差平方和を求めることが出来ます。

解法その2
Excelのグラフ機能を使うことでも、多項式回帰の係数を求めることが出来ますので、ここから残差平方和を求めることでAICを計算できます。
まず、上の表をコピーして、エクセルに貼り付けます。貼り付けた部分を選択して、「挿入」「グラフ」「散布図」を選びます。
次にグラフを選択して「グラフ」「近似曲線の追加」を選びます。「線形近似」あるいは「多項式近似」を選んで、多項式近似を選んだ場合は「次数」も設定してください。0次多項式(定数)はこのような散布図を使わなくても式変形で計算できます。
「線形近似」あるいは「多項式近似」をクリックしたら、「OK」を押す前に「オプション」を選んで「グラフに数式を表示する」を選んでから「OK」を押すと、回帰式が表示されます。

2007-07-12

ゲノム解析における統計解析法

Excelを使った多項式回帰の講義を7月12日にする予定でしたが、若干変更して、 7月12日は4限の代数学IIを3限に変更して頂いたので、4限の特別講演会を聴講してください。
数理統計学IIの最後の講義は7月19日3限です。

特別講演会のお知らせ

日時 平成19年7月12日(木曜日)
午後2時20分から3時50分
場所 環境理工学部棟105教室
演題 「ゲノム解析における統計解析法」
講師 山西芳裕(京都大学化学研究所助教)
対象 環境数理学科学部生及び大学院生

ゲノム解析において、統計学は重要な役割を果たしている。近年、網羅的に得られるようになったゲノム情報を使って、遺伝子やタンパク質間の相互作用ネットワークを予測するための統計解析法を紹介する。
山西芳裕氏は環境数理学科の一期生です。

2007-07-05

モデル選択の実例

以下のように日本の20都市に対して、1月の日最低気温の月平均値、緯度、経度、標高のデータがあります。
都市番号 都市 気温y緯度x1経度x2標高x3
1稚内-8.0 45.42 141.68 2.8
2旭川-13.6 43.77 142.37 111.9
3札幌-9.5 43.05 141.33 17.2
4青森-5.4 40.82 140.78 3.0
5盛岡-6.7 39.70 141.17 155.2
6仙台-3.2 38.27 140.90 38.9
7金沢-0.1 36.55 136.65 26.1
8長野-5.5 36.67 138.20 418.2
9高山-7.6 36.15 137.25 560.2
10軽井沢-10.0 36.33 138.55 999.1
11名古屋-0.9 35.17 136.97 51.1
12飯田-4.7 35.52 137.83 481.8
13東京-0.4 35.68 139.77 5.3
14鳥取0.5 35.48 134.23 7.1
15京都-0.6 35.02 135.73 41.4
16広島0.2 34.37 132.43 29.3
17福岡1.5 33.58 130.38 2.5
18鹿児島2.0 31.57 130.55 4.3
19高知0.1 33.55 133.53 1.9
20那覇13.5 26.23 127.68 34.9
出典:坂元慶行、石黒真木夫、北川源四郎著「情報量統計学」共立出版株式会社

このデータを元に、緯度、経度、標高から気温を推定するための最適なモデルを探しましょう。 また福島の緯度は37.75、経度は140.90、標高は67.4、神戸の緯度は34.68、経度は135.18、標高は59.3です。 選択したモデルを使って福島、神戸の気温を推定しましょう。

用いる変数とその時のAICの値を整理すると次の表になります。x1とx3を用いるモデル3が一番AICが小さいです。

モデル変数変量数σ2の推定値AIC定数a1a2a3福島の推定値神戸の推定値
1x1,x2,x332.46 84.8 38.3-1.170.02-0.0098-3.71 -0.15
2x1,x227.74 105.7 94.3-0.69-0.520-5.02 0.08
3x1,x322.46 82.8 40.7-1.150-0.0098-3.37 0.24
4x2,x327.01 103.7 147.10-1.09-0.0064-6.91 -0.63
5x118.73 106.1 39-1.1400-4.04 -0.54
6x219.60 108.0 155.80-1.160-7.64 -1.01
7x3126.68 128.4 -1.500-0.0095-2.14 -2.06
8定数032.66 130.5 -2.9000-2.90 -2.90
実際の福島の気温は-3.1、神戸は1.2ですので、モデル3での予測が一番良いです。

2007-05-27

EPSON品川アクアスタジアム

エプソン品川アクアスタジアムで凄く速く泳ぐペンギンを見ました。
ブログの機能が増えて動画を載せることが出来たので、ボタンを押して見てください。


泳ぎ終わって一休み。


ハリセンボン


やたらテンションの高いお姉さん。プール間際の席には水がかかるので、皆さんレインコート着用です。

2007-05-16

環境数理学概論


学外研修として、ナカシマプロペラと姫路城を見学しました。
ナカシマプロペラに関しては企業秘密の部分もあるのでばっさり省略して、お昼御飯を食べた龍野西サービスエリアから。


龍野西名物の角煮バーガーと牛スジコロッケ。


ツバメの巣の下には、落下防止の棚がつけてありました。


あ゛~。声が大きい子ほど餌がもらえます。


城の外の堀を白鳥と黒鳥が泳いでいます。


姫路城到着


トトロのネコバスに対抗してネコレンタサイクル始めました。


客を選ぶようです。逃げられてしまいました。


天守閣正面の広場から

2007-05-07

合成の誤謬

資本主義社会は簡単に言うと、一人一人が自分の富を増やすために努力することで、社会全体の富が増えるシステムですが、必ずしもこの仕組みがうまく働かない、つまり一人一人が自分の利益を優先することで結果的に全員が損をすることがあります。これを経済学の用語で合成の誤謬(ごびゅう)と言います。

統計学Iの教室の近くの自転車置き場では、殆どの人が自転車置き場の手前の道路に自転車を置いています。一人一人の行動としてはこれは合理的です。奥の自転車置き場に自転車を置こうと思うと、まず手前の自転車を整理して自転車が通る隙間を作らなければなりません。後で自転車を出すときのことを考えると、その隙間を通って奥へ行くより、隙間そのものに自転車を置いた方が良いです。
しかし全員がそう考えた結果、奥の自転車置き場はガラガラ、手前の通路は駐車自転車が多くて狭くなり、全員が困ります。

そのような非合理的な不便さを解消する方法として、自転車置き場をもっともっと増やすとか、自転車整理員を雇うとか考えられますが、そんなことをしなくても全員がほんの少し考え方を変えるだけで解決できます。自転車を出すときにも隙間を作る手間をかけても良いかな、って思って自転車を奥の自転車置き場に置けば、結果的に手前に置かれる自転車は無くなって(だって奥の自転車置き場はガラガラで、手前に置かれた自転車を全部置くことが出来ます)、出るときに隙間を作る必要もないし、通路も通りやすくなります。

合成の誤謬を解決するポイントは、皆が自分と同じ行動をとったときに、全体としてどうなるかを考える発想力です。

2007-05-01

WindowsXPを軽くする

ファイル名を指定して実行からmsconfigを起動して、スタートアップの中を整理します。以下の内容はパソコンによって有ったり無かったりします。
IMJPMIG, TINTSETP, imjpmig, ctfmonは消さない方が無難です。
iaanotifはインテルのATA関連のドライバで止めて良いか調査中ですが、ログオンしなくてもパソコンは動作しているので、このようなログオンしないと作動しないものは要らない様に思います。
pctspk, ltmsg, agrsmmsgはモデム関連のコマンド、smax4pnp4はサウンド関連のコマンドなので不要です。
SynTPStartはLet's noteのホィールパッドドライバです。パナソニックのサイトに詳しく書かれています。
Igfxtray, Hkcmd, igfxpersはintelの内蔵グラフィックスを設定するので常時起動する必要はありません。
NvCpl, NvMcTray, nwizはnVidiaのビデオカード用で、止めても構いませんがNvCplは止めても復活するので止める必要はありません。
QTTaskはQuickTime, PDVDServはPowerDVD, juschedはJAVA Runtime, realschedはRealPlayer用で止めて構いません。このあたりはpathで大凡見当がつきます。

次に、コントロールパネルの管理ツールのサービスから、要らないものの自動起動を停止します。
Application Layer Gateway Service
XPのFirewallや接続共有を使わないなら必要ありませんが、手動にしていても起動するので無効に。

COM+ Event System
COM+の通知を使わないなら必要ありません。System Event Notificationが有効だと、手動にしていても起動します。

Distributed Link Tracking Client
WindowsServerドメインに接続していて、NTFSファイルシステムを使用しているなら自動。その他なら不要。

DNS Client
DNSをキャッシュします。不要ですし、手動またはSpybot S&Dで危険なホスト名を0.0.0.0宛てにして無効にする方法でhostsに沢山書いているなら無い方が良いです。

Error Reporting Service
Microsoftへのエラー報告。止めて構いません。

Help and Support
ネットワークを介してのヘルプサービス。止めて構いません。

HTTP SSL
IISでSSLを使う時に必要。手動にしていても起動するので無効に。と思ったら最初から手動で、しかも止まってました。

IPSEC Services
WindowsServerドメインに接続しているなら自動。その他なら不要。

Logical Disk Manager
論理ディスクマネージャー。必要な時に起動されるので手動でいいみたい。というか手動になってます。

Machine Debug Manager
Visual Studioのデバッグに必要。手動でいいみたい。

NetMeeting Remote Desktop Sharing
起動しなくてもリモートデスクトップは利用可能なので止めます。というか止まっています。

Remote Access Connection Manager
および
Telephony
PPPoEを使わないなら不要。手動にしていてもRemote Access Connection Managerは起動するので無効に。

Remote Registry
ネットワークを介してレジストリを操作する必要がなければ無効にするべき。良く分からないなら手動に。

Secondary Logon
ログオフせずに別のアカウントでアプリケーションを起動することができます。常にadministrator権限で使う人なら止めて構いませんが、私は最近管理者権限では使っていないので、必要に応じて管理者権限を使うために動かしています。

System Event Notification
COM+にイベントの通知をします。手動にしていても起動するので無効に。


System Restore Service
コントロールパネルのシステムのところから止めていれば自動起動しません。

Task scheduler
タスクを設定するなら自動にします。これがないとプリフェッチが効きませんので止めないほうが良いです。

TCP/IP NetBIOS Helper
インターネット接続でLMHOSTSの参照を有効にしているなら自動、NetBiosを使ってないなら要らない。

Themes
Theme msstyles クラシックなら要らないから手動。私は実習室でこれを止めて他の教員に迷惑かけました。

Windows Firewall / Internet Connection Sharing (ICS)
ファイアウォールと接続共有。ほかのソフトを使うなら不要。

Windows User Mode Driver Framework
Windows Media Player 10でインストールされるドライバ開発者向けサービス。多分要らない。というかMedia Playerを10ではなく11を入れていれば最初から無い。

Wireless Zero Configuration
無線LANを使うなら必要、使わないなら不要

ここまで頑張って減らしても、最近のパソコンだと充分早いしメモリもありますが、特に携帯時など、ほんの少しでもパソコンの負担を減らして電池を長持ちさせたい時は役に立つと思います。
参考にしたのはWindows XP SP2 サービス一覧Windows2000/XPの主なサービス一覧です。