Hazy Ideas

日々の勉強の気づきを書き出しています

英国オンライン大学院入学

はじめに

前回の投稿から半年以上経ってしまった。この間、仕事だけでなく、大学院入学準備で忙しく、ブログ更新できなかった。

実は、10月からロンドン大学London School Hygiene and Tropical Medicineのオンライン大学院Distance Learning MSc programmeに入学する。ネット上に日本語での情報が少なかったため、多少の苦労があった。

今後希望する人のためにも、前例として情報を共有したい。

www.lshtm.ac.uk

なぜオンライン大学院か

現在、私は調査会社に勤めており、環境保健に関する文献調査、リスク評価などを行っている。仕事をする中で公衆衛生や疫学に関する知見が足りていないことを日々実感している。

 

私自身を含め、会社には環境分野に精通する人は多いが、医学系の経験者はほぼいない。

疫学を体系的に学び、専門性を証明する資格を持つことで、環境分野の民間企業の中で役に立てる存在になれるのではないかと思い、入学を目指すことにした。

 

自分のやりたいことと今の仕事はマッチしていて、かつ疫学に関して手を動かしているのは業務のみなので、仕事を続けながら大学院に通える場所を探すことにした。あわよくば、日本の大学教授とのコネができれば、今後の仕事にも役立てられると考えた。

 

大学院を調べたところ、日本の大学だと、

・医療従事者以外が公衆衛生を学べる大学院は少ない

・仕事を続けながら学ぶパートタイム学生や、オンライン受講を認めている大学院は少ない

・国公立で該当する大学院はほぼなく、私立の大学院は学費が高い(2年間で少なくても300万は超える)

 

そこで海外にも目を向けたところ、

・米英の大学院はオンライン教育を提供しているところがあり、有名大学もある(随分前からやっていたらしい)

英語圏以外の大学もあったと思うが、候補が多くなりすぎるので調べなかった

アメリカの大学院は高すぎる(1000万円超えるため普通の会社員はまず無理…)

・イギリスの大学院は世界トップクラス校もありながら、学費300〜500万円でなんとかなる(結局日本の私立と同じ程度)

・イギリスの公衆衛生系の大学院に絞り、10数校をリストアップ

 

せっかく高い授業料を払うなら大学院の知名度もあったほうがいいという気持ちで、ロンドン大学を目指しつつ複数大学に出願し、受かったところに入学する戦略を取ることにした。

 

なお、英国大学院選びやスケジュールは以下の記事を参考にした(情報が限られる中、大変参考にさせていただきました、本当にありがとうございました)。

30代半ばで目指すonline海外大学院(MSc in Public Health,MPH)|ばびろにあ

 

スケジュール

私の準備から合格までのタイムラインを以下に記載した。オンライン大学院は1年間ずっとオープンになっている(10月入学なら11月から翌年分の入学受付が始まる等)ため、準備が早いに越したことはない。

昨年11月 オンライン英会話を再開

この時はまだ大学院を本気で考えてはいなかった。

1月 大学院受験を決意、調査を開始

公衆衛生分野での大学院入学を志し、国内外の大学院を調べた。

2月 大学院リストを作成、IELTS申し込み

イギリスの学校に絞り、公衆衛生分野でのランキングの高い順に調べてオンラインプログラムを提供している10数校をリストアップし、エクセルに整理した(上記サイト参考)。

英語資格は大学により利用可能な試験が微妙に異なったが、IELTS academicはどこも受け入れていたため、IELTSを申し込んだ(1回24000円、高い…)

3月 IELTS勉強

久しぶりに参考書を2冊買って勉強した。仕事で英語を読むのでreadingはまあまあだが、それ以外の課目のスコアが低く焦った。

4月 IELTS1回目の受験

模擬テストのスコアが上がらないまま受験した。

5月 IELTS勉強

スコアが返ってくるまでの2週間はIELTS勉強を休んでいたが、その後再開した。

6月 IELTS2回目の受験、願書作成

スコアが低かったlisteningとspeakingに絞り勉強し、再受験→惨敗した。

願書(自己アピール文、CV)を本格的に作成した。

7月 推薦書準備、合格

元指導教員と現在の上司に依頼するための推薦書原稿を作成した。

その間に合格のメールが来た。英語スコアは足りなかったが、無条件合格であった。

留意点

結果的に受かったのでよかったが、今後受ける方は以下の懸念があるため、とにかく早めに出願することを心に留めておいてほしい。

 

・コースの受け入れ人数に限りがあるはず(明記はされていないが)

・個人の特性(人種、国籍、性別、職業、障がいの有無など)も考慮して生徒のバランスが取られる

・出願締め切りが9月でも奨学金の締め切りは3月だったりする(そもそも日本人が応募できるものがほとんどない…)

・英語のスコアが足りなくても条件付き合格する可能性がある(入学までにスコア満たしてねというお願いが来るはず)

 

とはいえ、落ちたら同じコースには次の年まで受験できないため、万全な準備をしてから臨みたい気持ちもわかる。

 

対策等

IELTS対策

4課目すべてが一通り勉強できる本1冊と、苦手意識のあったwritingだけの本を1冊購入したが、全部は解き切らなかった。

IELTSを申し込むと、無料で受けられるオンラインコース(練習問題、模擬試験)を受講できて、そちらを3ヶ月くらい毎日やり続けた。

 

2ヶ月勉強して受けた1回目はoverall 6.5(reading 7.0, listening 6.5, writing 7.0, speaking 6.0)であった。試験当日、開始時間に余裕を持って行ったつもりが、試験会場入場の締め切り時間ギリギリだったことがわかり、非常に焦った。英検協会から当日の案内メールは来ず、自分でマイページにログインして確認しろということだったことに後から気が付いた。皆さんは気をつけて。

さらに2ヶ月勉強して受けた2回目はoverall 6.0(reading 6.5, listening 6.0, writing 6.5, speaking 5.5)と下がってしまい、この2ヶ月の努力はなんだったのだと落胆した…。

 

私の志望校はIELTS 7.0が必要だったが、諦めて条件付き合格を狙うことにした。ちなみに、英語の条件がIELTS 6.5の大学院として名門University of Liverpoolがあった(大学ランキングが全てではないが、ランクを下げれば必要な英語のスコアも下がる傾向がみられた)。

自己アピール文

出願時に、Personal statementと呼ばれる自己アピール文を書く必要がある。私の場合、DeepLの助けを得ながら、英語で考えて書いた。大学によって文字数制限が異なりかつ、聞かれていることも違うため、大学ごとにカスタマイズして考える必要がある。

 

DeepL write とGramary(どちらも無料プラン)を使って文法チェックをし、以下の英文校正サービスを利用した。論文の校正サービスはよくあるが、Personal statementを見てくれるサービスは少ない。

英文校正/校閲・日英翻訳 - ネイティブチェックサービス | ワードバイス

 

返ってきた文章を、ネイティブの英会話Camblyの講師3人に見てもらった。うち1人は大学院経験者であり、一番的確な修正をしてくれた。出願時に成績表を出す必要があるのだが、私の場合、書類上の教員の嫌がらせで博士課程の成績が悪かったという深刻な懸念があった。講師に事情を説明したら「私も似たような経験をして苦労した」と言ってくれて、丁寧な文章に直してくれて大変助かった。

English Tutors Online - Cambly

 

CV

英語の履歴書はシンプルだが、1枚にアピールできるポイントを書き込んだ。Personal statementには文脈上書きにくいがアピールしたい内容を、CVに書くイメージでまとめた。

職歴には現在の仕事で環境保健に関すること、学歴には研究テーマを書いた。また、公表されている筆頭著者の論文、学会発表、所属学会も書いた。

 

推薦書

研究でお世話になった教員と、現在の職場の上司にお願いするつもりで、5月くらいにはメールもしくは口頭で軽く依頼していた。

 

日本人に推薦書をお願いする時は日本語で書いて英訳するほうが、推薦者にとって読みやすいという情報を読んだため、最初に日本語で書いた(Personal statementで気力を使い切ったというのもある…)。

英文を書き上げ、校正に出そうというタイミングで、第一志望から合格通知が来たため、それ以上は進めていない。

 

Personal statementと推薦書については以下の動画を参照した。社会人大学院生なので、当てはまらないこともあるが、参考になった。

www.youtube.com

www.youtube.com

 

入学金

覚悟はしていたが高額だった。円とポンドのレートが少しでもいい時にと思い、何度もレートをチェックしたが、入学金と初年度に受ける講義の授業料で200万円をゆうに超えた。

円安が進みかつ、授業料は1年で5%程上がるため、当初予定していた授業料(ポンド-円)の計算よりは確実に高くつく。

 

奨学金については調べてはいたが、大学が情報公開していた奨学金は高所得国の日本の学生にはあてはまらなかった。自分でも調べてみたが、社会人を続けながら学生、現地留学ではない学習環境という条件だと、該当する奨学金は残念ながら見つかっていない。

終わりに

オンラインの教育機会を目指す人に少しでも助けになれば幸いである。今後オンライン講義をしばらく受けてから、授業の様子や学習スケジュールなど紹介できればと思う。

DeepL個人的Tips(画像から読み込み、大量文字のコピー)

あまり知られていないであろう個人的なDeepLアプリの活用テクニックを紹介します。

 

1)画像のテキスト読み込み

PDFや写真の文字を翻訳したいときに使います(今ではスマホの標準カメラでも同じことができますが、仕事ではPCメインですから)。

 

・DeepLのアプリの左上3本線マーク→「設定」→「キーボードショートカットキー」の順に進みます。

・上から2つ目の「画面上のテキストの取り込み」にチェックを入れる

・読みたい画像を開き、ctrl+F8でカーソルが十字になるので、読みたい個所をドラッグする

・DeepLアプリに翻訳結果が表示される

 

注意点としては、「設定」の「ファイルと翻訳」で日本語にチェックを入れていないと、日本語として読み取ってくれないことです。また読み取った文章は改行を取り除いてくれないため、自分で手直しする必要があり少し不便です。

 

2)大量文字列のコピー

DeepLキーボードショートカットのctrl+CCによるコピー&翻訳や、日本語訳された文章をコピーして他のファイルに張り付けることがよくあります。

短い文章だと問題ないですが、数千文字以上のコピーを一度にやろうとすると、クリップボードへのコピーがうまくいかないことがあり困っていました。何度やってもコピーできないので、文章を細切れにしてコピペを何度も反復したことがあります。単調作業で疲れました。

 

発見した対処法ですが、ctrl+CCやctrl+Cを押したときに数秒長押しすると、正しく機能することが分かりました。

 

おそらくDeepLアプリを動かすときに一時的にメモリの容量不足になる(?)のではないでしょうか(自宅のスペックの高めPCだと起こらないようでした)。

すぐにキーを離すと処理が追い付かないため、長押しして待つことでクリップボードにコピーされる時間をとると解決しました。

 

皆さんの効率化につながると幸いです。

 

2024年

新年の抱負を普段考えることはないが、せっかくなので勉強と本ブログについて考えてみる。

 

●勉強

・環境分野でひとつ、自身の強みをつくる

・実務で使えるように深層学習、強化学習について知見を深める

・ネイティブと話せるくらい英会話の訓練をする

・もうひとつ何かはじめる

 

●本ブログ

・分野問わず、更新頻度を増やす(目標 月2回)

 

本年もよろしくお願いします。

【業界説明】環境コンサルとは

環境コンサルティング業界で勤めていますが、この業界は外からは分かりづらいと感じます。一口に環境コンサルと言っても、やっていることがばらばらで、企業研究の際に苦労した覚えがあります。今後、就職や転職でこの業界を考える方のために、私なりの考えを整理してみます。

ここでの情報は1企業で勤めている筆者個人の考えであり、業界全体の共通認識でも、所属企業の見解でもありません。

環境コンサルティング企業とは

環境分野に特化したコンサルティング企業の総称です。分野としては、廃棄物、化学物質、海洋保全放射線など、様々な環境分野および環境に起因する人の健康問題に関する高い専門性を持っています。主要な顧客は、民間企業や行政の環境部門を担当する部署になります。

環境コンサルティング企業の業務分野

環境コンサルティング業界が取り扱う専門分野は、以下のように多岐にわたります。

  • 建築系:エンジニアリング、環境アセスメント
  • 化学系:川、海、土壌などの化学物質測定
  • 生物系:海や山での生物調査、自然環境調査
  • 経営系:ESGやTCFDなど企業の環境対応

これらの分野は複合的に関わっていて、環境分野の複雑さがうかがえます。環境コンサルティング企業には様々な環境分野のバックグラウンドを持った専門家が必要ともいえます。

環境コンサルティング企業の業務内容

環境コンサルティング企業が顧客から受注する具体的な業務には、以下のようなものがあります。

  • 現地調査、サンプル採取・計測
  • 建設計画に関する調査、計画立案、設計
  • 最新知見や海外動向の調査
  • 環境に関わる経営戦略策定
  • ソフトウェア開発

業務内容も様々ですので、企業ごとに得意な分野が決まっています。現場で測定・分析ができる技術がある企業もあれば、知見調査のみに特化した企業もあります。これが、環境コンサルティング企業を一概にとらえきれない所以でもあります。

環境コンサルティング企業の業種

上記で解説した通り、環境コンサルティング企業はそれぞれ得意分野があります。それは概ね、業種の違いと理解することができます。以下に、関係する業種をまとめました。

  • 建設コンサルタント:建物の建設に関わる調査、分析、計画立案、設計などに関する業務を行います。大手建設コンサルティング企業は環境部門を持っており、ここに含まれます。
  • 化学系調査会社:環境中の化学物質を測定する技術と知見を持った企業です。水質や土壌成分を調査します。独立系の分析会社が多くあります。
  • 生物系調査会社:自然環境の生物を調査します。建設コンサルティング企業が部門として保有している場合もありますし、独立系の企業もあります。
  • 環境アセスメント企業:新設時や建設後の環境調査を行う環境アセスメントを行う企業です。電力会社、石油化学や大手重工系企業のグループ企業・子会社に多いです。
  • シンクタンク:政策関連の調査に強みをもつ企業です。金融企業が親会社の国内大手シンクタンクが有名です。
  • 監査法人:金融領域に強く、ESGや環境経営に関する戦略立案が得意です。国内企業だけでなく、外資系企業も有名です。

環境コンサルタントに求められる資格等

環境コンサルティング企業で専門家として働くには、特に資格等は必要ありません。上記の多彩な業務からわかるように、一律に必要な資格や知見があるわけではありません。ですが、関連する分野の学位・高い専門性は必要で、仕事によっては技術士の資格、英語スキルは求められます。

また余談ですが、環境コンサルティングといっても会社によって業務内容や求められるスキルが異なるため、転職時によく調べる業界全体の情報(学位や職歴、平均年収など)はあまり参考にならないかもしれません。

まとめ

今回は環境コンサルティング企業について情報をまとめてみました。上記のある一分野の人間の意見ですので、興味のある方はぜひご自身で企業情報、転職口コミサイト、公共事業受注実績などを調べてみてください。

Pythonでスペースを含んだフォルダパスを読み込む(Google Colaboratory)

Google Colabでフォルダのパスが通らない事態と解決方法。大した話ではないけども、検索しても引っかからなかったので書きます。

 

問題のあったフォルダ名

フォルダdrive/MyDrive下に作成された標準名称が「Colab Notebooks」で、スペースが入っています。

 

事象

まずライブラリをインポートして、Google driveをマウントする。

import pandas as pd
from google.colab import drive
drive.mount('/content/drive')

その後、以下のようなコードを実行。

train = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/xxxxxx/train.csv')

すると、

/content/drive/MyDrive/Colab

Notebooks/xxxxxx/train.csv

上記のように改行されて認識され、エラーが発生した。

スペースの部分をPython正規表現の「\」「\n」「\s」などに変えて試してみたが、うまくいかなかった。

 

対応策1

train = pd.read_csv('/content/drive/MyDrive/Colab_Notebooks/xxxxxx/train.csv')

フォルダ名をスペースをハイフンに「Colab_Notebooks」に変えたところ、当然うまくいきました。

 

対応策2

train = pd.read_csv("/content/drive/MyDrive/Colab Notebooks/xxxxxx/train.csv")

シングルクォーテーションをダブルクオーテーションに変更すると、うまく認識してくれました。

 

PythonでもRでも、記号の使い方でパスが正しく通るか変わることがあることは経験がありました。

今回、不思議だったのは、対応策2を一度試して以降、最初のシングルクォーテーションで挟む形式に戻してもパスが通ることです(なのでエラーが出たときのメッセージや画面を貼り付けられず)。

 

Minicondaインストール手順と最初のライブラリインストール

Acaconda環境から、Minicondaに移行したので、その過程をメモする。

はじめに

Anacondaはデータサイエンスに必要なパッケージが揃っていて、パッケージの依存関係も調整されている。しかし商用利用は有料とのことで、この先どのような利用方法になるかわからないので、Minicondaに移行しようと思う。Minicondaは管理システムcondaが使用できるが、最小限のパッケージの導入で済み、必要なパッケージは自分で追加するという仕組みである。インストール後のサイズがおおよそ、Anacondaで5GBに対し、Minicondaは0.5GB程度で済む。

 

1.Anacondaをインストールしている場合にはアンインストール

AnacondaとMinicondaは共存させられるみたいだが、紛らわしいので今回はインストール済みのAnacondaはアンインストールした。

 

2.Minicondaをダウンロード、インストール

Miniconda — miniconda documentation

Windows PCに64bitをダウンロードした。

 

Minicondaのインストールが済んだら、一旦PCを再起動する。次に、必要なパッケージのインストールに進む。

まずはwindowsボタンを押してから、Anaconda promptを起動する。

 

>conda list

>python -V

>conda -V

とりあえず、目下使いそうなパッケージをインストールする。

>conda install numpy matplotlib

>conda install jupyter notebook

>conda install notebook ipykernel(これはいらないかも)

 

Anaconda Prompt上で、以下を打つことでJupyter Notebookが起動できる。

>jupyter notebook

これで最低限のMiniconda環境を整えることができたはず。

Rのcaretパッケージを用いた機械学習テスト

今回は勉強用として、様々な機械学習の手法を用いてみます。

Rのcaretパッケージとは、機械学習の分類・回帰に用いられる様々なパッケージを統合して使いやすくしたパッケージです。今回はデータセットirisを用いて、まずは様々な手法を動かしてみることを目的とします。それぞれのモデルの説明、パラメータチューニングは割愛します(他のブログにお任せします)。

最初にデータセットの外観を確認します。

#アヤメの種類、花弁・がく片
head(iris)

目的変数をSpecies、花弁とがく片の長さと幅を説明変数にする方針とする。

k最近傍法

#k最近傍法
set.seed(123)
irisKNN <- train(
  Species ~ ., 
  data = irisTrain, 
  method = "knn", 
  trControl = trainControl(method = "cv")
)

predKNN <- predict(irisKNN, irisTest)
confusionMatrix(data = predKNN, irisTest$Species)

重回帰分析(多項ロジットモデル)

#重回帰分析
set.seed(123)
irisMlt <- train(
  Species ~ ., 
  data = irisTrain, 
  method = "multinom", 
  trControl = trainControl(method = "cv")
)

predMlt <- predict(irisMlt, irisTest)
confusionMatrix(data = predMlt, irisTest$Species)

サポートベクターマシン

#SVM
set.seed(123)
irisSVM <- train(
  Species ~ ., 
  data = irisTrain, 
  method = "svmLinear", 
  trControl = trainControl(method = "cv")
)

predSVM <- predict(irisSVM, irisTest)
confusionMatrix(data = predSVM, irisTest$Species)

決定木

#決定木
set.seed(123)
irisTree <- train(
  Species ~ ., 
  data = irisTrain, 
  method = "rpart", 
  trControl = trainControl(method = "cv")
)

predTree <- predict(irisTree, irisTest)
confusionMatrix(data = predTree, irisTest$Species)

ランダムフォレスト

#ランダムフォレスト
set.seed(123)
irisRF <- train(
  Species ~ ., 
  data = irisTrain, 
  method = "rf", 
  trControl = trainControl(method = "cv")
)

predRF <- predict(irisRF, irisTest)
confusionMatrix(data = predRF, irisTest$Species)

ニューラルネットワーク

#ニューラルネットワーク
set.seed(123)
irisNnet <- train(
  Species ~ ., 
  data = irisTrain, 
  method = "nnet", 
  trControl = trainControl(method = "cv"),
  linout = F
)

predNnet <- predict(irisNnet, irisTest)
confusionMatrix(data = predNnet, irisTest$Species)

勾配ブースティング(線形予測)

#xgboost 線形予測
set.seed(123)
modelXGB <- train(
  Species ~ ., 
  data = irisTrain,
  method = "xgbLinear", 
  trControl = trainControl(method = "cv")
)

predXGB <- predict(modelXGB, irisTest)
confusionMatrix(data = predXGB, irisTest$Species)

まとめ

irisデータはシンプルだった(植物のサイズなので、人間が関わることよりかはばらつきが少なそう)ため、分類結果に差が出ませんでしたね。精度は98%で、決定木以外はクロス集計表の結果も同じとなりました。

今回はデータの正規化、パラメータの検討など全く検討していません。本データを扱う時までに、背景知識目含めて学びなおしたいと思います。