DTAL(旧RCEAL)留学記録

2010年1月から2014年半ばまで在学していたケンブリッジ大学理論・応用言語学科でPhDを取得するまでの記録です。

Congregation

昨日はケンブリッジに戻り、Congregation(卒業式・修了式)に出席しました。以前も述べたように、ケンブリッジ大学では学位確定後、正式にはCongregationに出席又は欠席して修了する意思を表明して初めて学位が授与されます。Congregationへの出席は基本的にはいつでも良い(学位確定の数年後でも良い)ようですが、特に引き延ばす理由もないと思い、このタイミングで出席することにしました。


当日の流れは以下のようなものでした。まず午前中に予めレンタルしておいたガウン、フード、蝶ネクタイ、バンドを受け取ります。これらを所有していればレンタルの必要はありませんが、私は一度きりのことですし特に何も購入せず、全てをレンタルで済ませました。昨日は一年を通しても相当に暑い一日で、スーツの上にガウンを羽織り、蝶ネクタイやバンドを着用しているのは辛かったです。どのようなガウンやフードを着るかについてはケンブリッジ大学からの学位を既に有しているか否か等で変わり、細かな規定があります(参考)。


13時からCollegeで卒業生・修了生と彼等のゲストのための昼食があり、その後13時45分から式のリハーサルがありました。と言っても式自体は後述する一人数十秒の儀式的な部分のみなので、リハーサルも時間はかからず、30分ほどで終了しました。


学位授与式はSenate Houseという所で行われるのですが、全卒業生・修了生が一度に式に臨むわけではなく、基本的にはCollege単位です。卒業生・修了生がそれほど多くない場合は複数のCollegeの合同での式となります。そしてこれは、ロイヤルカレッジ(King's、Trinity、St. John's)→その他のCollegeの設立年順で行われるため、ロイヤルカレッジの卒業生・修了生は午前中に式を終える一方、私が所属していたHughes Hallのように比較的新しいCollegeは19時頃の式となります。


通常はCollegeからSenate Houseまで全員で行進するのですが、昨日は午後から雷雨の予報であったため、急遽現地集合となりました。18時半に集合し、18時40分にSenate Houseに入る予定でしたが、当日の進行が全体的に遅れていたため実際に入館したのは19時前でした。


Senate Houseでは特に来賓者の挨拶などはなく、(割と厳しい)服装チェックの後は、学位の授与のみを行います。学位を授けるのは副学長(学長はケンブリッジ大学では名誉職のようです)あるいはその代理人(Collegeの長など)です。実際のプロセスはここに詳しいですが、大雑把には以下の手順で進みます。

  1. 四人一組となり、Praelectorと呼ばれる人の指を右手で掴む
  2. Praelectorが「彼・彼女はPhDの学位に相応しい」という旨をラテン語で宣言する
  3. 卒業生・修了生が一人ずつ呼ばれるので、名前を呼ばれたら副学長(やその代理人)の前まで進み、ひざまずき、両手を合わせて前に出す
  4. 副学長(やその代理人)がそれを両手で握りしめ、「神の名の下にPhDの学位を授与する」という旨をラテン語で宣言する
  5. 立ち上がり、一歩下がり一礼し、Senate Houseから退館する。退館時に学位記を受け取る。


3-5は一人当たり数十秒程度でしょうか。上の学位(PhDなど)から始まるので、私は19時20分頃には退館していました。退館後は学位記を入れるフレームや学位授与時の写真を購入する場所があります。学位授与式の最中は撮影禁止なので、写真が欲しければここで購入するしかありません。それを通り抜けるとSenate Houseの庭があり、そこで友人らと写真を撮ったりすることができます。私は学科(DTAL)、College(Hughes Hall)、卓球部の友人らとそこで会い、記念撮影を行いました。

      • -

本ブログは約5年間に亘り、「留学記録にしたいブログ」→「留学記録になる予定のブログ」→「留学記録」として記してきましたが、それもこれで最後になります。今後は新たなブログを立ち上げる予定でいますが、細部は決めていません。その際はこちらでもお知らせします。これまでご愛読くださりありがとうございました。

Michael McCarthy先生へのインタビュー

今年度の『英語教育』には「言語教育研究の最前線」という、日本国外の著名研究者にインタビューを行う連載がありますが、現在発売中の6月号では私が語彙研究やコーパス研究で著名なMichael McCarthy先生にインタビューを行っています。

英語教育 2014年 06月号 [雑誌]

英語教育 2014年 06月号 [雑誌]

研究を始められたきっかけ、現在の研究上のご関心、English Profileの英語教育への貢献などについて伺っています。ご興味がおありでしたら是非ご一読ください。

対数変換と一般化線形モデル

免責事項
以下は私がここ一ヶ月強ほどで学習した内容ですので、誤っている可能性があります。誤りを発見された方はご指摘を頂けると嬉しいです。


主旨
Rで以下の二者は同一のモデルを構築すると思っていたのが、間違っていましたという話です。

1. lm(log(y) ~ x)
2. glm(y ~ x, family = gaussian(link = log))


背景
必要があり、指数関数(E(y) = c + ae^{bx})あるいは冪関数(E(y) = c + ax^b)に従う二変量(xとy)をRでモデル化する方法について調べていました。


私のこれまでの理解は、以前は変数変換を施すことにより誤差を正規分布に近づけ、それに最小二乗法に基づく線形モデルを当てはめていたのが、近年では一般化線形モデルを用いることにより正規分布以外の誤差も扱えるようになり、そちらを使うことが多い、というものでした。つまり一般化線形モデルが変数変換に取って代わったと思っていました。しかしこれは大きな誤りで、実際は二者は異なる前提を持つモデルで、どちらを用いるかはデータ(の前提)に依るということを学びましたので、備忘録を兼ねて以下にメモしておきます。


以下の指数関数を考えます。
E(y) = ae^{bx}
但しeネイピア数\approx 2.718)、aとbをデータから推定します。ポイントは平均がゼロで正規分布に従う誤差項(\epsilon)はどこに入るか。


1. \epsilonが指数内に入る場合
Rでは単純に従属変数に対数変換を施した、lm(log(y) ~ x)という式がこれに当たります。


y = ae^{bx + \epsilon}


以下のようにも変形できます。logは自然対数(底はe)です。
log(y) = A + bx + \epsilon (但しA = log(a)
E[log(y)] = A + bx


二つ目の式では線形予測子(A + bx)とlog(y)の二乗和が最小となるようなAとbが推定されます。さてここでは\epsilonがyではなく、yの対数スケールでの誤差を吸収します。このため、最小二乗法を用いて最小となるのは対数スケールでの実測値と予測値の差の二乗和であり、オリジナルスケールでのそれではありません。誤差項(\epsilon)が表すのは通常の最小二乗法のように実測値と予測値の差の二乗ではなく、実測値と予測値の比です。従ってこれを乗法的(multiplicative)な誤差構造と呼びます。


また対数スケールでの加算はオリジナルスケールでの乗算になるので、\epsilon正規分布すると、e^\epsilonここにある図のように対数正規分布(正の歪みがある分布)します。


そして誤差を乗算で算出する結果、このモデルは正の方向の誤差には(負の方向の誤差と比較して)影響を受けづらく、そちらの方向の外れ値には頑健です。


さて対数正規分布正規分布とは異なり、分散が平均に依存します。厳密には変動係数が一定である、すなわち分散は平均の二乗に比例するようです。つまり、誤差はyの予測値が大きいほど大きいと仮定します。


2. \epsilonが線形に入る場合
Rでは対数リンク関数+正規分布の一般化線形モデルを用いた、glm(y ~ x, family = gaussian(link = log))という式がこれに当たります。


y = ae^{bx} + \epsilon
E[y] = ae^{bx}
log(E[y]) = A + bx
あるいは
y + \epsilon = ae^{bx}(単純に移行すると-\epsilonですが、平均ゼロの誤差ですので符号を変えなくても影響は同じです)
log(y + \epsilon) = A + bx


四つ目の式が分かりやすいと思うのですが、この場合、\epsilonが吸収するのはオリジナルスケールでの実測値(y)と予測値(ae^{bx})の差です。このため、aとbはオリジナルスケールでの二者の差が最小となるように推定されます。つまり誤差項が表すのはオリジナルスケールでの二者の差であり、従ってこれを加法的(additive)な誤差構造と呼びます。誤差構造は通常の回帰モデルと同様に分散が一定の正規分布で、従って乗法的な誤差構造と比較すると正の方向の外れ値に影響を受けやすいとも言えます。


また三つ目の式と1での記述から、E[log(y)]とlog(E[y])が異なる意味を持つことがわかります。


どちらを用いるべきか
乗法的な誤差構造を仮定するなら対数変換、加法的な誤差構造を仮定するなら一般化線形モデル、というのが指針になります。一般的に冪関数や指数関数は乗法的な誤差構造を持つことが多いようですが、図などを見て決めることが推奨されているようです。


参考文献
主に以下の書籍、論文、ウェブサイトを参考にしました。Venables and Dichmont (2004)は私にとって馴染みのない分野での統計手法の話ですが、少なくとも一般化線形モデルに関しての記述はわかりやすく、とりわけ参考になりました。

PhDの学位取得が決定しました

標題の通りです。博士論文周りは一ヶ月半ほど動きがありませんでしたが、修正が認められたので製本したものを提出してくれとの連絡を3月3日に受けました。翌日(4日)に製本を依頼し、香港から帰英後の11日にそれを受け取り、即日ケンブリッジ大学に送付、13日にPhDの学位取得が決定したとの連絡を、14日に受けました。


11月に審査(viva)に通り、余程のことがない限り大丈夫だとは思っていましたが、実際にこうして大学から連絡を頂き安心しました。学位授与自体は年に複数回ある修了式で行われますが、今後数年内でいつ修了式に出席しても良いという制度ですので、いつになるか未定です。


Asia-Pacific Corpus Linguistics 2014

香港理工大学で行われた標題の学会に参加しました。私がケンブリッジで所属していたHughes HallというCollegeが香港大学卒業生のみが応募できる奨学金制度を設けており、その制度を利用してHughes Hallには毎年少なくとも二名の香港大学卒業生が所属していました。彼等は修士課程(一年間)の学生ですので、年度末には香港に帰国します。その結果、香港には知人・友人が多く、機会があれば是非とも訪れたいと思っていました。そんな折に昨年のCorpus Linguistics 2013で@langstatさんから本学会が香港で開催される旨を伺い、それを機に行こうと計画しました。


拝聴した発表についてはこちらにツイートをまとめてあります。私自身は「Dynamic patterns in the L2 accuracy development of English grammatical morphemes」というタイトルで発表しました。これは博士論文の一部に基づくもので、正直に言って(少なくともこれ単体では)あまり面白い箇所ではないのですが、博士論文関連で学会で未発表の部分はもうあまり残っていませんでした。もう一度データをいじり直せば何とかなるかと思い学会数週間前に再分析してみたのですが芳しい結果が得られず、negative findingが中心の発表となってしまいました。


本学会でも旧知・新知を問わず色々な方にお会いできました。コーパスの学会は知り合いが多く、ホーム感があって好きです。次回は2016年10月中旬に北京航空航天大学で開催されるそうですので、行ける状況であればまた参加したいです。


さて、香港観光は友人が色々な所へ連れて行ってくれました。夜景も短時間ですが見ることができましたし、主に案内してくれた友人が文化遺産保全をPhDで行っていることもあり、香港の歴史的な建築物やpublic placeと呼ばれる場所、地元のマーケット(新規ライセンスを発行しなくなり減少してるそうです)、寺(旧学校・旧裁判所)、香港大学なども回りました。また「憎む人の名前を書いた紙を(祈祷師のような人が)スリッパのようなもので強く叩き続けた後に燃やす」という友人もよくわからないというサービス(?)を営む様子も見ることができました。


また観光の過程でMTRはもちろん、トラムやフェリー、バスなど色々な乗り物に乗りましたが、八達通オクトパスカード)という東京でいうPASMO、ロンドンでいうOyster Cardのようなカードが全ての乗り物(+一部のカフェなどでの精算)で用いることができ、大変便利でした。


そして英国外に出る楽しみの一つは食事です。特に広東料理は典型的な中華料理ほど油っこくないため、香港での食事を楽しみにしていましたし、実際に香港滞在中は典型的な朝食から豪華な夕食(conference dinner)まで、広東料理を大量に食しました。


オクトパスカードもですが、ほかにも香港は利便性が高いと感じる点が多くありました。例えば香港駅(空港から30分程度)では各航空会社がブースを持っており、そこでチェックインができます。つまり空港に行った時にチェックインする必要がなく、荷物もその場で預けることができるということです。こうすることにより半ば手ぶらで最終日も観光でき、チェックインを済ませてあるので空港へは離陸1時間半前くらいに着けば十分に間に合います。空港での入国審査・出国審査も大変スムーズでした。


そうは言っても香港はアジアで、街がごちゃごちゃしている感じは懐かしかったです。夜も22-23時まで街がアクティブで、東京を思い出しました。是非また来たいです。

trigram以上へのMIスコアの拡張

昨年International Journal of Corpus Linguistics誌にNaixing Wei氏とJingjie Li氏による、MIスコアをtrigram以上のn-gramに拡張するという論文が掲載されました(こちら)。読んでみて面白そうだと思ったので、Rで実装しました。以下で公開しています。parse()やeval()の使い方、直接必要ではないのにターム文書行列を作成している点など、不満な点は多々あるのですが、手を入れる時間がしばらくは取れなさそうなので、公開します。誤りや不自然な点等ありましたら是非お知らせください。


newMI


以下のようにして走らせることができます。詳細はここをご覧ください。

# 必要なパッケージの読み込み。ない場合はinstall.packages()でインストール
library(RWeka)
library(tm)
library(data.table)
# コードの読み込み (2月28日追記)
library(devtools)
source_url("https://raw.github.com/mrkm-a/newMI/master/newMI.R")
# コーパスファイルが含まれるディレクトリへのパスを指定
direc <- "(テキストファイルが含まれるディレクトリのパス)"
# 実行
ps <- newMI(direc, cutoff.freq = 5, pattern = ".txt")


ブラウンコーパスに上記のコードを走らせると私の環境では10分ほどかかり、以下のような結果になります。

> head(ps)
        Ngram N Frequency        MI
1       104 e 2         5 10.966133
2     15 1962 2         6 10.183509
3    15th day 2         6  9.181649
4 1962 alaska 2         6 13.000202
5       353 u 2         6 11.637632
6 7th cavalry 2         6 14.303514

# 計1164個のn-gramが抽出された
> nrow(ps)
[1] 1164

# 内訳はbigramが587個、trigramが364個、4-gramが133個、5-gramが35個、6-gramが45個
> table(ps$N)
  2   3   4   5   6 
587 364 133  35  45 

# MIスコアの高い順にソートし出力
> ps.s <- ps[order(ps$MI, decreasing = TRUE), ]
> head(ps.s)
               Ngram N Frequency       MI
16           afl cio 2         5 17.68203
149       dolce vita 2         5 17.68203
280    laissez faire 2         5 17.68203
483  souvanna phouma 2         5 17.41899
689 fille de chambre 3         5 17.26984
768   lauro di bosis 3         6 17.19682

一目、意味をなさない語が並んでいるように見えますが、調べてみるとAFL-CIOは「アメリカ労働総同盟・産業別組合会議」の略称、dolce vitaは「La Dolce Vita」という映画のタイトルの一部、laissez faireは経済の「自由放任主義」と、いずれも意味のあるフレーズです。これらが上位に来ているのは、例えばafl cioの場合だと、aflもcioもAFL-CIOというフレーズでしか出現していないためです*1。低頻度語に敏感というMIスコアの特徴を見て取れます。trigram以上もbigramと似た方法で抽出しているため、同じ特徴があります。詳しくは原論文をご参照ください。

*1:MIスコアは例えばafl cioの場合だと、「afl cioの頻度×総語数 / (aflの頻度×cioの頻度)」という計算式で求められるので、afl cioの頻度に対して「aflの頻度×cioの頻度」の値が小さいほど、つまりaflとcioがafl cioという表現以外で出現する頻度が低いほど、高い値が出ます。