20190731_災害報告_大通り交差点における追突事故

更新履歴

2019/07/31 19:25(改訂開始時刻)

  • 本文書の目的->本文書について、と記載を変更のうえ内容を修正した。
  • 発生状況について、"誰が"、および"どのような状況で"箇所を修正した。
  • 得られた教訓を追加した。

本文書について

本文書は、本日被災した交通事故を対象として、発生状況および得られた教訓を記録するものである。

発生状況

  • いつ:朝、時間は伏せる。
  • どこで:国道同士の交差点、こちらは3車線道路。詳細は伏せる。
  • 誰が(関係者):miso、後続車運転者(仮称:A)の2名。
  • どのような状況で:miso車が信号待ちのため停止していたところ、A車はmiso車および信号に気づかず。
  • 何が起きた:miso車に対し後続車が60km/hで追突した。misoには外傷はなく、市内の病院にて頚椎症(むちうち)、全治1週間と診断された。Aも外傷はなく、意識もはっきりしている状況であった。

事故発生直後の動き

  • A:警察へ電話した。その際救急車の要否を問われ、念のため救急車を要請。その後、警察対応。
  • miso:miso車はレンタカーであったため、交通事故窓口へ連絡してレッカー要請。路肩に車を寄せようとするも、自走できない状態になっていたため諦める。
  • 警察より先に救急車到着、misoは貴重品以外の荷物をmiso車内に残し、病院へ搬送されその後受診。
  • その後警察およびレッカー車も到着し、miso車は元のレンタカー店鋪へ運ばれる。

受診以降のmisoの動き

  • 病院にて診断書を受領。この際、医療費について次の説明を受ける。
    :一旦支払っていただく必要があるが、医療費は保険会社が負担することとなるため、保険会社とやりとりを行ない払い戻しを受けること。
  • 現場を所管する警察へ連絡した。現場検証時に不在であったため、別途警察署にて状況説明を行なうことになった。その日程は担当警官との間で調整し、当日の18:00とすることとなった。
  • 荷物を回収するためレッカー移動された車の有無を確認。レンタカー店鋪へ連絡したところ荷物の受け渡し可、との回答。その足で店鋪ヘ向かい荷物を回収。
  • 保険会社より連絡を受け、医療費、自動車の修理費について説明を受ける。両者で保険会社の担当者が異なっていた。

得られた教訓

  • 交通事故はいつ発生するかわからない、ということを改めて実感した。
  • 事故発生直後の動きを思い返すと、相手方の健康状態について一切触れていない。自分はぶつけられた側、という意識が働いてしまっていたように思われるが、そちらもケアすべきだった。
  • 相手は高齢者であった。自動車の運転には危険がつきものであるし、いつ自分が加害者になるかもわからないため、運転する際には心しなくてはならない。
  • 交通事故発生時の関連機関は①医療機関②警察③保険会社(④レンタカー業者、旅行先宿、代理店...)など色々発生するが、その場で揉めたりしなければ一日で話は終わる。
  • 同乗者が複数名いれば、一名は事故現場に残ることが望ましい。警察が到着した時点で追突車の乗員しかその場におらず、警察への説明が恣意的になる可能性があったため。責の割合、ひいては保険の適用範囲などについて後ほど揉める原因となる。

所感

  • 結果論だが、自分の車がいなければA車はそのまま交差点に突入し、より大規模な事故に繋がっていたと考えられる。今回は負傷者が自分(+Aさん)だけで済んだのがせめてもの救い。
  • 高齢者運転が問題になっているし、今回の事故もそうであった。他人の人生にも大きく影響する問題であるため、自分が高齢者になった際には潔く免許を返納したい。

以上

読書感想文:アウトプット大全

導入

まず、自分はアウトプットが苦手です。文書、プレゼン、メールの作成にシャベリだったりLINEとかツイッターとか。

この辺については割と近くにいる人たちからも指摘されていて、以下のようなことをよく言われます。

  • こっちが知りたいのはお前がどう考えてどうしようとしているかだ
  • お前がどうしたいのかわからない
  • 考えるのは良いけどアウトプットしてくれるのに時間が掛かりすぎて待っている間不安になる。
  • 考えて言葉にするのはいいがどう行動に結び付けようとしてるのかがわからない。

昔テニスや東方をめちゃくちゃやってた時は自分で考えて、人に伝わるかどうかは別として上手くプレイできている、調子のいい時の感覚的な部分を自分の言葉で日記とかツイートに残して、調子が悪いときにはそれを読み返してプレイに反映させて、という事をしていました。 ところが最近はテニスも東方もほとんど~全くやっておらず、そういう自分の感覚をアウトプットする機会から遠ざかってしまっている感じがしています。

そんな中最近はインフルに罹ってしまい、復活はしたものの食欲も気力も沸いてこず、このまま家の中で寝てたらそのまま死ぬ気がしたので久しぶりに散歩でも行こうと思って千葉駅のあたりまでふらつきに行っていました。 その時くまざわ書房さんに入ったら以下の書籍がたまたまピックアップされていてちょっと立ち読みしたらちょっと読込みたくなったのと、自分は自他ともに認めるアウトプットは苦手マンであってそのことに危機感も持っているので、衝動買いしました。

学びを結果に変えるアウトプット大全 (Sanctuary books)

学びを結果に変えるアウトプット大全 (Sanctuary books)

この本を読んで

以下のことはこれからやろうと思いました。書くことも大事だし、それをちゃんと実行・継続することはきっとそれ以上に大事。
* なんらかの形でその日一日を振り返って日記をつける。なるべくポジ日記になるようにする。(その方が幸福度が上がって継続しやすいらしい。)
* 本を読んだらとりあえずでもいいので感想文の形で書く。

書いてあったこと

  • 出だしが「現実はアウトプットによってしか変化しない」と直球。
  • インプット:アウトプットは3:7くらいがよい。なんならアウトプットが追いつかない量をインプットするくらいならその時間をアウトプットに充てるべきである。
  • アウトプットの形は様々。ブログでもツイートでも、B5のメモ帳1枚でもA4ノート見開きでも単語帳でも。
  • 考えを書き出すときはアナログ、出力する形にまとめるときはデジタルが適している。

Thinkpad X240を買った

背景

自分はこれまでデスクトップマシンでWindowsOSと、モバイル環境としてMacOSを使ってきた。
最近、業務の関係でLinuxOSにも慣れておく必要が出たため自宅のデスクトップマシンにUbuntu18.04をデュアルブートする形でインストールし、運用してきた。
しばらく運用してみたところその環境が意外と快適だったため、今回は思い切ってUbuntuを動作させるためのマシンを一台用意することにした。

選定理由

Ubuntuを動かすマシンを準備するとなったところで、まずは要件を決めるところからスタートした。具体的には以下。

  • 大きさについて:
    • 大きさがA4サイズであること。
    • 重さが1.5kg以下であること。
  • マシン性能について:
    • ストレージがSSDで256GB以上であること。
    • メモリが4GB以上であること。
  • 価格帯について
    • 5万円以下であること。
  • その他
    • 中古でもよい。
    • ノングレアパネルだと嬉しい。

上記の要件を満たすマシンを探したところで、Thinkpadのラインが挙がった。中古品のユーザが多くて安いものも多く出回っている上に評判も悪くない。
また以前MacBookを購入したときも同様であったが、情報系の開発者にはThinkpadの利用者が多いため、何がいいのか実際に使って評価したいというミーハー要素もひとつ。

買ったもの

今回購入したのはX240と呼ばれる2015年のモデル。
秋葉原ドスパラの中古フロアに置かれていたものを購入したのだが、その時点ではHDD500GBが搭載されていた。HDDではOSや各種アプリの起動速度に満足できないであろうことがわかっていたため、SSDも同時に購入。合計で33000円程度の購入。
ヤフオクではもう少し安価で買うことはできたようだが、こういうものは一応現物を見たいタイプの人間なのでそのまま購入。気にならない人はネットを活用した方が良い。

MacBookとの操作感の比較

せっかくなので、自宅にあるMacBook (Retina, 12-inch, Early 2015) と比較してみる。

キー入力系

Thinkpad

Thinkpadを触ってみると、売りの一つであるキーボードの押し心地が非常によいMacBookはザ・ウルトラブックという感じで非常にストロークが浅くて反発も少ないキーであったが、それとは真逆の傾向でストロークが深くて押下したときに反発を感じる。
ちなみに、Thinkpadはいわゆるよくあるキーボードの配列と比較してctrlキーとFnキーの場所が入れ替えられており戸惑ってしまう。ただしこれはBIOSの設定メニュー内で入れ替えるかどうかを選ぶことができるようになっているため対応可能。この配置は元々Thinkpadを開発していたIBMの配列なんだろうか…。

MacBook

一方、MacBookのキーボードもよくあるキーボードと違い、ctrlキーではなく代わりにoptionキーが配置されている。機能自体は同じであるためあまり気にならないのだが問題はその配置である。
MacOSのOptionキーはいわゆるよくあるキーボードで言うところのAltキーかWinキーが配置されている位置にある。ショートカットキーを使う場合には小指でCtrlキー、中指でAやSを押下することが多いのだがその位置にキーが配置されていると非常に窮屈である。3年ほど使ったが、未だに慣れない。他のMacユーザ各位はどう操作しているんだろう。

カーソル操作系

Thinkpad

それぞれが特有に持っているカーソル系の入力I/Fとしてトラックポイントトラックパッドがある。トラックポイントの代名詞。これはThinkpadのキーボードの中にいる赤ポチである。これも慣れると手放せなくなると聞いているが、如何せんまだ慣れていないためかあまり使いこなせない。
また、X240のタッチパッドはすこぶる評判が悪い。評判が悪すぎて次の世代であるX250からはタッチパッドがそれ以前のものに戻されている。
タッチパッドも交換可能であるようだが、現時点ではそこまで致命的だと感じていないこと、作業の難易度が高いことから本当に必要と判断したら交換することとする。

MacBook

一方でMacBookに搭載されているトラックパッドは慣れていることもあるが、単純にタッチしたときの精度が非常に高く、意図したところでカーソルが止まってくれる。そのうえ2本指でのページ送りや3本指での作業スペース送りは非常に行いやすく、ストレスフリーである。

画面系

Thinkpad

X240の画面はディスプレイのサイズが12.5inchとあまり大きくはなく、かつ解像度もHD(1366×768)であり作業エリアが小さくストレスである。おまけにTNパネルが使われているため視野角が狭く、かつ表示色も鮮やかでないと来ている。
ところが、Thinkpadはディスクやメモリだけでなく、なんと液晶パネルまで交換可能とのことでネット上で調べてみると実際に変更している記事がたくさん存在している。どうもThinkpadの良さはこういう拡張性の高さにもあるらしい。

ということで、それらの記事も参考としてフルHD画質化するための液晶を購入することにした。合計45000円弱。

MacBook

一方でMacBookRetinaディスプレイと呼ばれる非常にきれいなディスプレイ。ただしグレアパネルであるため映り込みが気になったり汚れが目立ったりもするが、いかんせん解像度が人権を得るための必要条件であるフルHDを満たしているため、快適性も大きくリードしている。(そもそもX240が人権得るための要求を満たせていない)
MacBookの方はベゼルレスであるため、PC本体に対するディスプレイの大きさがよく確保されており、コンパクトである割に画面が大きく感じられる。

以上から、少なくとも現時点では - キー入力をメインに置くならThinkPad(フルHD化はほぼ必須) - カーソルによる操作をメインとするならMacBook

と向き不向きがあるように感じる。

しばらく使ってみて

  • X240のトラックポイントには慣れてきたが、タッチパッドはすこぶる評判が悪い。評判が悪すぎて次の世代であるX250からはタッチパッドがそれ以前のものに戻されている。
    タッチパッドも交換可能であるようだが、現時点ではそこまで致命的だと感じていないこと、作業の難易度が高いことから本当に必要と判断したら交換することとする。
  • 冷静に考えるとメモリ4GBは意外と足りていないかもしれない。ChromePython+xonsh、Atomエディタでそれなりにメモリを食ってしまうので。
    こちらももう少し運用して、必要に応じて増設する。

(参考)買ってからやったこと

  • HDDを取り外してSSDに付け替えた。
  • Ubuntu18.04をインストールした。
  • 以下をインストールした。
    • Anaconda3
      • Python環境として普段から使用しているもの。
    • Atomエディタ
      • 元々Sublimeを使っていたが、Ubuntu上で日本語入力をするための制約が大きかったため今回乗り換えた。
    • Chrome
      • 大事。
    • zsh
      • 標準のシェル。この上でxonshを動作させる。
    • xonsh
      • Python製のシェル。これが便利。
      • シェル環境の設定手順は以下。apt-getでxonshをインストールするとPythonのパスがAnaconda3にならず、デフォルトでインポートを完了させたいライブラリが使えない。
        1. Anaconda3をインストール。その際にbash環境変数にAnaconda3のパスを追加する。
        2. pip install でxonshをインストールする。
        3. ~/.xonshrcを作成、編集する。
        4. zshをインストールする。
        5. ~/.zshrcを作成、編集する。
    • terminator
      • ターミナルアプリ。画面のスプリットができるため。
    • vim
      • xonshから各種システム設定を変更するときに必須。
  • ログインシェルをbashからxonshにした。ただしzshから呼び出すばんくし方式を基準に一部編集している。
  • IPS液晶を発注した。
  • (これから)MacBookの売却

積の期待値と期待値の積

久しぶりの投稿。

私用で,二つの確率変数の積がどのような分布に従うのか(というかその期待値はどのように表現されるか)を明らかにする必要があったので少し調べてみた所を記述します。

問題設定

2つの確率変数
{x, y}を考える。
ここで,

{x \sim N(\mu\_x, \sigma^{2}_x)}, {y \sim N(\mu\_y, \sigma^{2}_y)}

とする。
今回考える問題は,
{E(xy)}がどのように表現されるかを得ること。
みなさんご存知の通り,{x, y}が独立である場合は{E(xy) = E(x)E(y)}とはよく言われます。実際にぐぐれば導出式はたくさん出てくるはず。

では,こいつらが独立ではない場合はどうなるのか?となるのは自然な流れ。
以下,導出を行ないます。
ちなみに,以下の記事は正規分布に従う確率変数同士の積の分布について - 数学 締切済 | 教えて!gooで見かけたやり取りを参考にしています。役立つときは役立つもんですね。(それでも間違っている可能性はあるけど)

変数変換

まず,以下のように変数変換を行なう。

\displaystyle
{U = \frac{1}{\sqrt{2}}\ (\frac{x}{\sigma_x} + \frac{y}{\sigma_y})}
\displaystyle
{V = \frac{1}{\sqrt{2}}\ (\frac{x}{\sigma_x} - \frac{y}{\sigma_y})}

すると,{U,V}は以下の正規分布に従う。

\displaystyle
{U \sim N(\mu_1, 1^2)}
\displaystyle
{V \sim N(\mu_2, 1^2)}

但し,

\displaystyle
{\mu_1 = \frac{1}{\sqrt{2}}(\frac{\mu_x}{\sigma_x}+\frac{\mu_y}{\sigma_y})}
\displaystyle
{\mu_2 = \frac{1}{\sqrt{2}}(\frac{\mu_x}{\sigma_x}-\frac{\mu_y}{\sigma_y})}

と置いている。
ちなみに,この{U,V}は共分散が0,すなわち独立である。

{xy}の表現

次に,この{U,V}を使って{xy}の表現を得てみる。
これらを二乗すると,以下のようになる。

\displaystyle
{U^{2} = \frac{1}{2}(\frac{x^{2}}{\sigma^{2}_x} + \frac{2xy}{\sigma_x \sigma_y} + \frac{y^{2}}{\sigma^{2}_y})}
\displaystyle
{V^{2} = \frac{1}{2}(\frac{x^{2}}{\sigma^{2}_x} - \frac{2xy}{\sigma_x \sigma_y} + \frac{y^{2}}{\sigma^{2}_y})}

これらの両辺を減算すると

\displaystyle
{U^2-V^2 = \frac{2xy}{\sigma_x \sigma_y}}

{xy}について整理して,

\displaystyle
{xy = \frac{\sigma_x \sigma_y}{2}(U^2-V^2)}

期待値の計算

ここで,{U,V}をよく見ると,こいつらは自由度1,非心度それぞれ{\mu_1^{2}, \mu_2^{2}}の非心カイ二乗分布に従っている。
ここで,自由度k, 非心度\lambdaのの非心カイ二乗分布に従う確率変数の期待値は(k+\lambda)で与えられる。
それを利用すると,今回求めようと考えている期待値は

\displaystyle
{\begin{eqnarray}
E(xy) &=& E\Bigl(\frac{\sigma_x\sigma_y}{2}(U^2-V^2)\Bigr) \\
&=& \frac{\sigma_x\sigma_y}{2}E(U^2-V^2) \\
&=& \frac{\sigma_x\sigma_y}{2}\Bigl(E(U^2)-E(V^2)\Bigr) \\
&=& \frac{\sigma_x\sigma_y}{2}\Bigl((1+\mu_1^2)-(1+\mu_2^2)\Bigr) \\
&=& \frac{\sigma_x\sigma_y}{2}\Bigl(\mu_1^2 - \mu_2^2\Bigr)\\
&=& \frac{\sigma_x\sigma_y}{2}\Bigl(\frac{1}{2}(\frac{\mu_x^{2}}{\sigma^{2}_x} + \frac{2\mu_x\mu_y}{\sigma_x \sigma_y} + \frac{\mu_y^{2}}{\sigma^{2}_y}) - \frac{1}{2}(\frac{\mu_x^{2}}{\sigma^{2}_x} - \frac{2\mu_x\mu_y}{\sigma_x \sigma_y} + \frac{\mu_y^{2}}{\sigma^{2}_y})\Bigr)\\
&=& \frac{\sigma_x\sigma_y}{2}\frac{2\mu_x\mu_y}{\sigma_x\sigma_y}\\
&=& \mu_x\mu_y
\end{eqnarray}
}

となる。

以上から,確率変数{x,y}の独立性を仮定していなくても{E(xy) = E(x)E(y)}となってしまった。非常に気持ち悪い。
おそらくどこかに間違いがあるんじゃないかと思いますが,現状では見つけられていないのでどなたか間違っている点があれば教えてください・・・。

システム同定の基礎

久しぶりの記事になってしまった…年明け初記事なので、明けましておめでとうございます。

前回の記事で、(当時の)これから勉強したい事について記述をしました。
あれらのうち、状態空間モデルの考え方、カルマンフィルタに関して基本的なところを勉強しました。
しかし、それらの理論はモデルを既知として組み上げられている問題であるため、それだけでは実データへの適用やトライアルは当然うまく当てはまりません。
ということで現在はシステム同定に関する勉強をちゃんとしようと考え、自分なりの勉強のゴールを以下のように設定しました。

  • 対象とする系の状態空間表現を得られるようになる

ということで、以下の書籍を読み込んでおります。

システム同定の基礎

システム同定の基礎

もう一つ、こんな本もあるのですがこれはPRMLのように事前に必要となるの知識レベルが高いとのこと(ソース:職場の優秀な先輩)で、ひとまず断念。

システム同定―部分空間法からのアプローチ

システム同定―部分空間法からのアプローチ

ただし、自分は制御工学は学生時代には履修していない(修士の研究の中でバックシフトオペレータを使った程度です)ため、出現する用語や考え方はその都度調査する必要アリ。

そもそもシステム同定とは何か

システム同定とは、

対象とする動的システムの入出力データの観測値から、ある目的のもとで、対象と同一であることを説明できるような、何らかの数学モデルを作成することをいう。(上記書籍より引用)

つまり、対象の系を数式で表現しましょう、ということ(と自分は解釈しています)。

システム同定の目的

上記文章のなかで、「ある目的のもとで」とあります。
制御工学の文脈の中では、システム同定の目的の多くは「制御系を設計すること」だそう。確かに、加工機械や人工衛星などは正しく制御が行なえなければ重大な事故や損失につながりますね。

ちなみに、本書ではプラントの制御を目的と仮定しているようです。

システム同定のモデル

システム同定を行なうにあたり、数理的なモデルはパラメトリック、ノンパラメトリックの二つのモデルに大別されるとのこと。
ここでいうパラメトリックモデルは「システムの動特性を有限個のパラメータによって特徴づけるモデルのこと」、
ノンパラメトリックモデルは「無限個のパラメータによって構成されているモデル」とのことです。
例)
パラメトリック  :伝達関数状態方程式など
ノンパラメトリック:インパルス応答関数、周波数伝達関数など

統計学とは表現が異なっているものの、言わんとしていることはだいたい同じであると考えていいかなと思います。
ここで、単純な状態空間表現におけるシステムは入力量、状態量、出力量、白色雑音から成ると考え、以下の表現形式を考えます。

{x(k+1) = Ax(k) + Bu(k) + v(k)}
{y(k) = C^{T}x(k) + Du(k) + w(k)}
{v(k), w(k)}はホワイトノイズ

これらに対して部分空間同定法を適用して、どうなるんだろうか。
井手剛先生の書籍「入門 機械学習による異常検知」では入出力を考えていなかったため、今回考慮している対象とは異なるモデリングを行おうとしています。
この時、システム同定の方法はどのように変わってくるだろうか。これから勉強していきたいと思います。

非常に半端ではありますが、今回はここまでにして、未来の自分に任せようと思います。

-- 追記(3/21) --
で、これからどうすんねん、な感じになってしまった。

現状、自分が勉強できていることは

  • 離散時間時不変モデル

  • 線形

  • 入出力のない時系列

に対する部分空間同定法の手法。線形カルマンフィルタも一応自分でコードの作成はしてみたものの、既存のパッケージ(pykalman)と比較すると結果が全然合っていないため、デバッグしなくちゃと思っています。

なので、自分のこれからのアクションは
1. 入出力のある系に対する部分空間同定法の手法を勉強する(状態変数(上では{x(k)} )の次元がわかっていればMCMCなんかでもいいのかも?一旦保留。)
2. それらの勉強をするために必要な制御工学の知識習得(伝達関数って?周波数応答?)
3. アルゴリズムを実装するためのコーディングの練習

として、今後勉強をしていきたいなと思います。
それらとは別に、いい加減CやC++を書けるようになったりDNNの勉強もしなくちゃなぁと思います、上手い感じに捌いていきたい。

うむ

最近勉強用に、という事でこのブログを作成しました。

とりあえずブログ作ったよ、という事でこれから勉強していきたいなぁなことを並べておこうかなと思います。(どうせすぐ目移りする)

数学系

  1. 時系列解析(自己回帰モデルのパラメータ推定・状態空間モデル・カルマンフィルタ・粒子フィルタ周辺)
  2. 統計的因果推論、構造方程式モデリング(系の中に相関があるのが分かっても、因果関係まで知りたい理解したい)
  3. 密度比推定手法
  4. 情報幾何
  5. データ同化

プログラム系

  1. データのイケてる可視化方法
  2. ちょっとしたwebアプリ開発
  3. Julia言語

あたりかな。自分に必要な所から攻めていこうと思います。