草薙の研究ログ

英語の先生をやってます。

Ducky Miniのキー設定

Ducky Mini可愛いぞう

台湾のメーカー,Ducky Channelさんは2015年くらいから,日本のアーキサイトさんを通じてマウスやキーボードを販売している。

Duckyといえば,Ducky miniというコンパクトキーボード。アルミボディーにCherryMXスイッチを使った人気のあるキーボード。

ずっと興味をもっていたのだけど,最近Amazonで安く手に入るようになったみたいなので買ってしまった。スイッチは黒軸にした。

www.archisite.co.jp

 

ううむ。可愛いぞう。こいつ。

初期設定

もう自分用のメモでしかないんだけど,日頃,大抵の場合はHHKBを使っているので,できるだけそれに近いキー配列にしたい。たとえば私の場合,

  • CtrlキーはAの左で絶対になければならない
  • Fnキーは一番右下でなければならない

という制約がある。

でも,これキーボード側で設定できるし,交換用のキーキャップついてたから,自分の好きにしていいみたい。

設定は,

  • Fn+Alt+H三秒押し→CapsLock→3でCapsLockとCtrlを入れ替え
  • Fn+Alt+H三秒押し→Fn→2→L_Ctrlで右下をFnに入れ替え

という感じでよかった。

その他

  • Ducky Miniは,Fn + WASDでWASD移動のようにマウスカーソルを移動させられる。これちょっと便利ね。QとEでマウスの左クリックと右クリック。
  • いわゆる矢印キーはないので,Fn + OKL;なんだけど,これちょっとなれない。HHKBにように,Fn + [;'/にしたい。ま,でもいいか。
  • バックライトはいろいろモードとか色合いとか強さを設定できるけど,ま,どうでもいい。Fn + Alt + Gでモードを切り替えられる。

 

 

 

 

構成概念について自分が考えること(2):構成概念のコードと解釈者

前回まで

  • 構成概念を記号として捉えてみる
  • パースの記号論を援用して,構成概念の解釈を記号過程と捉える
  • 記号過程の中で,それぞれが別個の記号でもある心,行動,測定という要素を複雑に媒介していくことで構成概念に解釈が与えられる
  • この観点の下で,構成概念の解釈はおよそ7種類に分類される(という試案)

 

今回

概要

  • 記号としての構成概念について考えるためにコードという見方を取り入れる
  • 記号としての構成概念の解釈者の存在を考える

3. 構成概念のコードと解釈者

3.1 解釈の不一致

まずは,以下のことに着目してみる。

  • 心理測定の議論では,少なくとも,測定手続きを介さない構成概念のあり方について議論されることはない
  • いわゆる行動主義による分野では,少なくとも,行動を介さない構成概念のあり方について議論されることはない
  • いわゆる心理主義による分野では,少なくとも,心を介さない構成概念のあり方について議論されることはない

それぞれの態度についての議論は置いておくにしても,記号としての構成概念にはさまざまな解釈が与えられ,分野やひとによって異なるだろう,ということだ。

構成概念の解釈が研究者間で一貫しない,というのは,今に限ったことではなく,昔かからいつでも議論されてきたことだ。とてもおおげさにいえば,共約不可能だとか,パラダイムの違いとかそんな感じになるし,おおげさにいわなくても,構成概念の氾濫とか術語の氾濫とかそんな感じ。

 

3.2 コミュニケーション過程?

ここでちょっと違う枠組みだけど,コミュニケーション過程というのを考えてみる。おおざっぱにシャノンの情報理論によれば…

  • 情報の送り手と受け手がある(それぞれをチャンネルという)
  • 送り手が情報を受け手に伝えたいとき,情報を信号に加工する(これをコード化という)
  • 信号は,情報それ自体ではない
  • 受け手は,もとの情報が復元するように受け取った信号を加工する(これを解読という)
  • この過程をコミュニケーション過程という
  • 送り手がもっていた情報と受け手がもっていた情報が同じであれば,コミュニケーションが成立したという
  • コミュニケーションが成立されるためには,コード化と解読が成立するような,送り手と受け手に共通するコードがなければならない
  • かなりおおざっぱにいってしまえば,ソシュールにおける記号論では,記号表記が信号,記号内容が情報に相当する。ここでのコードは,ソシュールラングに相当する。
  • かなりおおざっぱにいってしまえば,パースにおける記号論では,記号が信号,対象が情報で,コード,コード化,解読などは全部解釈項に入る
  • もちろん,このコードという見方にも批判はある

研究者同士が議論するとき,2つのチャンネルがあるとして,ある構成概念「動機づけ」に関する記号過程,たとえば心,行動,測定手続きの複雑な関係は,一種の情報である。送り手がもつ情報は,言語的な表記,または音声としての動機づけという信号(視覚的または聴覚的な)にコード化されて,受け手が信号を得る。受け手は信号を解読し,送り手がもっていた情報を復元すると,コミュニケーション成立。めでたしめでたし。

このときのコードは,そりゃおおざっぱにいえば,辞書的な意味での術語の定義みたいなものなのだろうけど(最初の解釈),上記の7パターンに分類されるような記号としての構成概念について,いつも,めでたくコミュニケーション成立するわけではない。

心理学やそれに類する分野(外国語教育もそれに含まれるとして)で,研究者同士が隣り合い,そしてなにかの構成概念について誰かが口にしたなら,かならずこのような会話がなされる。いずれも,今年のうちに居酒屋で聞いた実例。

  • 「で,そのバーンアウトっていうのはそもそも存在するの?」(心,その実在に関する質問)
  • 「動機づけが高いと,具体的にこれくらい勉強します,こんな感じで勉強をしますっていわれなきゃなんもわかんないよ」(行動の傾向性に関するコメント)
  • 「知りたいのは要はその測り方なのよ。もしも測り方が定まらないなら,そんなものは怪しい」(測定手続きに関するコメント)

ある構成概念について誰かが論じたとき,それに対する素朴なコメントがこの三種に分類されると気づいたのが,そもそもこの考え方の着想の由来。

聞き返すというのは,おそらく受け手がもっている記号としての構成概念の要素のどれか(心,行動,測定)を満たしておらず,その要素について補完しようとしているからだと思う。コミュニケーションは成立されなければならない。

ひとによって異なる心,行動,測定の組み合わせによる7種は,おおざっぱにコードといわれるもののようなもんだ。つまり,構成概念にはコードがある

概念が独り歩きするというようなよく聞く研究上のことばも,このコードが共有されていない度合いのことじゃないかな。

3.3 記号の解釈者

記号としての構成概念には,かならず解釈者(聞き手)が必要だってこと。たとえば,ある研究者が心,行動,そして測定手続きを介して構成概念を表すとき,その解釈者が心を介さない構成概念のコードをもっていたら,心の側面は解読されない。同じように行動を介さないのなら,行動の側面は無意味になる。そしてもっとも多いのが測定手続きが解読されないことだろう。

逆もあり得る。解釈者が心,行動,測定手続きの3セットによって解読するとき,この3つが得られなければ不完全であると捉えて聞き返すかもしれないし,補完するかもしれない。

 

今日はここまで。

 

 

 

構成概念について自分が考えること(1):記号としての構成概念

概要

  • 構成概念を記号として捉えてみる
  • パースの記号論を援用して,構成概念の解釈を記号過程と捉える
  • 記号過程の中で,それぞれが別個の記号でもある心,行動,測定という要素を複雑に媒介していくことで構成概念に解釈が与えられる
  • この観点の下で,構成概念の解釈はおよそ7種類に分類される(という試案)

背景

構成概念(construct)とはなにか,というものについて考えない日はない。というか,より具体的に,「構成概念に関する考え方が,著しくひとによって異なること」に対して興味がある。思考や勉強を垂れ流しのままにしていてももったいないので,勉強したり思ったりしたことをメモしていくことにする。

記号論的に構成概念を見てみる

1. もっとも広い意味での構成概念の見方

  • 構成概念ってぶっちゃけ記号である

構成概念について思索を始めるときは,常にここからスタートすることにした。ここが絶対的なスタート地点であることはもう疑わない。

  • 記号は,なにかの代わりをするあらゆるもの
1.1 ソシュール記号論

ここではあまり使わないけど,構成概念を語るテキスト(論文や本)の中で,構造主義的な見方をするのに役立つと思って。

1.2 パースの記号論
  • 記号,対象,解釈項の三項
  • それぞれ一次性,二次性,三次性に対応する
  • 解釈項はまた記号になり,別の記号との関係が発生し…という記号過程

構成概念を記号過程という観点から捉えるというアイデアを思索の中心にする。

  • 記号と対象の関係性には,類似性,因果性,規約性がある
  • それぞれ,アイコン,インデックス,シンボルと対応する

特に術語としての特徴に注目を当てるとき,構成概念は,他のあらゆる言語表現と同じで,基本的に恣意的で,規約的で,そして慣習的なのでシンボルでもある。りんごという発音と果物としてのりんごの関係は,なんら必然的な関係はなく,そう決められただけのことであって,知性という発音とその対象の関係もそうに違いない。

これを,個人的に最初の解釈ということにした。つまり,なんかをとにかくそう呼ぶことにしている,というお約束。これももう疑わなくていいと思っている。

しかしこれで終わりでない。記号過程は続いていく。

1.3 それ以降の解釈に関係するだろうこと

記号過程の中で,具体的に以下の3つの要素(これらもある意味記号である)の組み合わせを媒介することによって,構成概念にさまざまな解釈が与えられているとひとまず考える。

  • 物理的外延をもたない実体=心
  • 行動
  • 測定手続き

これらを最低でもひとつ含む組み合わせは以下の通りで7つ。

 

  行動 測定手続き
1    
2  
3  
4
5    
6  
7    

 

こんな感じ。なので,とりあえずこの(未熟な)考えの上で,記号としての構成概念は7種類に分ける,としよう。

  • ここでのは,デカルト的な意味で,まったく物理的外延をもたないもの。物理的外延をもたないので,ときに時間と独立したり,空間と独立した働きをしたりする。しばしば私は,ライルのことばを借りてゴーストと呼ぶ。
  • ここでの行動は,人の一般的な行動のこと。行動はもちろん記号でもあるし,モリスのように,記号というものの基礎づけに行動を置く場合もある。しばしば私は,文脈によって観測と行動を同じ意味でつかう。
  • ここでの測定手続きは,質問紙をやったり,それになんらかの測定モデルを適用したりすること全体。測定はかならず行動を伴うが,ここでは奇妙なことに,測定手続きに含まれる行動のみに限定する。そしておおざっぱにも,データやモデルも全部含めてしまう。

ここが自分の考えに独自性があるところだと考えているけど,心理統計やテスティングでは,当然ながら,この測定手続きを考慮しない議論は存在しなかった。ほとんどの場合,構成概念は,観測変数と潜在変数の論理的ないし数理的関係とその実装を中心に語られてきた。しかし,応用分野になればなるほど,自分にとっても盲点だったが,測定手続きと完全に独立した構成概念はあり得るし,いわゆる心の実在や因果関係に関する認識は変わってきて自然。つまり,構成概念という記号にも,コードというようなものがあるだろう,ということ。

2. 7種類の構成概念の解釈

2.1 心のみ
  • 行動と測定手続きをまったく介せずに心を直接的に参照する

記号は,なにも物理的外延をもたないものもその対象にすることができる。ユニコーンのように。

これを悪しき二元論だとか,安易な実在論だ,と決めつけるのは慎重であるべき。経験とまったく独立した記号は存在しない。その経験というのが,おそらくひとの話を聞いたり,本や論文で読んだり,そして自分の主観であったりということだ。これが成立するかはわからないが(厳密な意味ではしないと思うが),たとえば,「動機づけ」は,観察されうる行動の頻度や持続長などと関係なしに,そして質問項目や因子モデルなどとも独立した意味をもつ。

それが関係する行動も測り方も知らないけど,このことばを使う,みたいな場合。これを心やゴーストと呼ぶかもまた難しいけど。

2.2 心と行動
  • 測定手続きを介しない,心と行動の関係

この態度は,一般的にアブダクションと呼ばれる論理にもとづいていて,場合によってはそれが間違いであるとか,循環に陥るという批判を受ける。

アブダクションは,論理A→Bと結論Bから,前提Aを導く。なにかがなにかを動かすという論理があって,なにかが動いているのだから,それを動かしているのもあるはずだ,というような考え方。ペラペラとよく英語をしゃべるのだから,またはしゃべらない人がいるのだから,その原因となる熟達度というのがあるはずだ,というに考える。

関係というのも一筋縄にいかない。類似関係と因果関係のふたつはあると思う。いわゆる,「行動は心を映し出す鏡」,つまり行動は心と並行しているであるとか,少なくとも性質的によく似ている,というようなものだ。この場合,記号としての構成概念はアイコンに分類されるはず。

もう一方,因果関係は,いわゆる機械の中の幽霊だ。心と身体が別々にあって,心は物理的ではないのに,なぜか物理的な身体に影響を及ぼすというあの超自然的な考え方。

機械の中の幽霊批判は人間の尊厳を傷つけるという方がいるので,この話をするときはできるだけ穏健なヴァージョンを用意してそれを使う。それはドラクエ的世界観だ。ドラクエではゲーム中,メニュー画面を開くと,キャラクターのパラメータが見えるんだ。ちからが8で,かしこさが7というような。で,実際に,おそらくこのドラクエの世界の中からは直接的にアクセスできないこのパラメータが,ドラクエの世界の中におけるできごとの本当の原因となっている。しかも,超簡単な数式で。たとえば,スライムにこのキャラが攻撃をしかけるとき(これは行動であり記号でもある),スライムがくらうダメージは,ダメージ = キャラのちから + 武器の性能 - スライムのぼうぎょ,みたいになっている。熟達度が英語使用の原因だというのとおなじで,ちからはダメージの原因だ。

ここでは,あくまでも測定手続きが関係ないことに注意。つまり,ある意味運命などもそうだ。運命という目には見えない,おそらく物理的外延をもたないものが,行動を支配していて,そして運命を測定しようとはしない。

2.3 心と測定手続き
  • 行動を介しない,心と測定手続きの関係

この態度が成立するかも難しいのだけど,こう理解したらよいかも。たとえば,まったく将来の行動を予測しない心理測定。動機づけは,この質問紙とこの因子モデルによって測定できる(ここでは大雑把な意味)のだけど,動機づけは,日常的な,または測定以降の行動の頻度や持続長などとは関係ない。

つまり,測定手続きに関わる行動のみの原因となっている。…そんなものやっぱないかなぁ。この組み合わせを廃止しようかな。

ただ,いいたいこととしては,なんら実際の行動などを顧みない,その関係性を考慮しないクソみたいな操作主義に相当するイメージ。

2.4 心と行動と測定手続き
  • 心,行動,測定手続きの三者関係

 

おそらく,これがもっとも多数のひとにとっての構成概念。心,行動,測定手続きは互いに関連付けられていて,構成概念という記号が示す対象は,これらの複雑な関係だということ。

典型的な場合,こんな関係だ。

  • 熟達度はある種の行動の原因となっている(熟達度が高ければペラペラ)
  • 熟達度は測定手続きに含まれる行動の原因にもなっている(熟達度が高ければテストのスコアが高い)
  • なので,(アブダクション的に)テストのスコアが高いのならば熟達度が高いと見積もるのがもっともらしい(合計得点をもとめ,個人に割り当てる)
  • テストのスコアが高いひとは熟達度が高いとみなせる

このような仮定や推論が構成概念という記号をなす,と考える。

この態度やこれとは異なる関係性についてはあとで詳しく考える。記号としては,インデックス的な性質が強い。

ドラクエ的世界観だとこんなかんじだ。ちから(心)は,ダメージの原因になっているのだから,ぼうぎょがおなじスライムに,おなじ武器を装備させてダメージを測ったら,ちからが間接的にわかるだろう。つまり,メニュー画面を開かなくても,ドラクエの中からちからがわかるだろう,と。

2.5 行動のみ
  • 心と測定手続きを介さない行動それ自身

ここからは心を介さない構成概念。

心を介さない構成概念の見方も非常に根強い。古くいえば,エピクロスとかルクレティウスとか…20世紀に飛んでライルとか,論理実証主義のカルナップ,記号論ではモリス,もちろんいうまでもなくスキナーとか,最近だとラクリンとか,面々たる系譜が繰り返し繰り返しいってるような態度。「心は行動の原因でもないし,けっして説明にもならない」という。

術語としては行動の傾向性などともいうそうだ。ここでの態度は,熟達度は,(将来的に)ペラペラ喋ったり,英字新聞を読めたりするような行動のカテゴリーそれ自体である,といった感じ。

ただ,具体的な測定手続きは考えない。

2.6 行動と測定手続き
心を介さない,行動と測定手続きの関係

もちろん,場合やものによるのだけど,私が一番構成概念として解釈するのはこれのこと。行動と測定手続きの関係は,全体部分関係にある。心理統計だと,潜在変数の非因果的解釈などともいわれるよう。たとえば詳しくは後述するけど,ある行動のカテゴリーからその一部分に当たる行動をサンプリングして測定手続きに使っていると考えわけ。因果関係はここにない。

つまり,行動の傾向性を表す指標を取っていること。もちろん,記号としてインデックス的だ。

2.7 測定手続きのみ
  • 心と行動を介さない,測定手続き

この態度は奇妙なことに成立しそうだ。たとえば,熟達度とはTOEICのスコアそれ自体を,ほかの心や行動とは何の関係もなく示しているというもの。心なしで,そして測定が行動の予測力をもたない,といったパターン。

2.8 まとめ

というわけで,記号としての構成概念に着目して,構成概念は7種類に分けられるんじゃないかと妄想した,という記事でした。まだまだ続くけど今日はここまで。

 

 

範疇と構成要素をしっかりと区別すること

範疇

範疇またはカテゴリーとは,このようなものだ。

フルーツという範疇に,バナナ,りんご,みかん,なし,もも…がある。

個物の性質に応じて分類されているものだ。

構成要素

構成要素は,このようなものだ。

車の構成要素は,エンジン,タイヤ,ボディー,ブレーキ…などである。

車が車であるような,その成り立ちを決める一部分のこと。人工物なら,部品といっても通るようなものだ。

 

範疇と構成要素は,全く異なるものだ。

 

外国語教育研究における構成概念

「語彙知識には,形式の知識,意味の知識,そして使用の知識がある」

→ 私は理論についてはまったく素人でよくわからないが,おそらくこれは構成要素を示している。

「文法知識には,明示的知識と暗示的知識がある」

→ 私は理論についてはまったく素人でよくわからないが,おそらくこれは範疇を示している。

「動機づけには,道具的動機づけと統合的動機づけがある」

→ 私は理論についてはまったく素人でよくわからないが,おそらくこれは範疇を示している。

非常に紛らわしい。よく混同しているような用例も見る。というか,わたしが理論面についての知識をもたないからかもしらないけど,どちらかわからないことが非常に多い。範疇なのか構成要素なのかを明確に言明してほしい。

 

ChromebookにLubuntuを入れてしまいAtomに引きこもろうと思ったが…やっぱEmacs!

繰り返される「勝手な」Windows Updateの波に本当に嫌気がさしている。

別にこちらの会社に限った話じゃないけど,いつの間にか,コンピュータは人が命令したことを盲目にする道具じゃなくて,人に先回りしてなにかして,承諾を得るというようなスタイルでひとと関わる地位に上がっていたようだ。私はまだPCっていうのは私の相棒でもパーソナルアシスタントでもなくて計算機だと思いたい。

ある意味,パターナリズムということばの意味を深く考えさせられる。そうか,「コンピュータのことなんかどうせわからない私だから,コンピュータのことなんかどうせわからない私の命令を待つのじゃなくて,コンピュータが私をいいように導いてくれるのか」なんて。だから,「だから,私がコンピュータに命令を出すのでなくて,コンピュータのいうことに従うべきなのか」なんて。

そんなため息をつきながら,Macを使えばいいじゃないかと思って開いてみても,数分もしたらなんかコレジャナイ感に苛まれる。吸血鬼が銀に触れたら火傷するように,私はこのアルミの筐体によって身を焦がす。

Ubuntu系のOSは,ここ10年くらいのつきあいだ。Ubuntu,特にLXDE環境のLubuntuだけにしたい,などといってもそうはいかないときも多い。パターナリズムに怯えながらも結局,Windowsが入っているマシンを触る。だからといってWindowsを開いてもどうせVirtualBoxで仮想的にLubuntuを開いたりする。困ったもんだ。Lubuntuみたいな軽いデスクトップ環境だと,ほとんどの市場に出回るWindows機ではオーバースペックになる。仮想環境のメモリやストレージの割当てを何故かできるだけ少なくして,どれだけカツカツにするかで楽しむようになる。「やばい!領域が少なくて,apt installできない!」みたいなのがいい。…ビョーキだ。

病身の末,唐突に思い立った。いつだって唐突が一番だ。私を救ってくれると期待していたラズパイを,仕事用に使うのはやはりキツいものがあった。ラズパイ,ごめん。でも,それよりはマシだけど,私の身を焦がさない程度に低スペックで,非力で,しかし製品として気が利いているChromebookはどうかと。なによりもWindowsがプレインストールされていない。非力で,そしてWindowsが入っていない。なんて素晴らしい。

日本市場のChromebookはどれも似たりよったりだけど,ASUSさんのChromebook flip c101pa,英語キーボード版をポチった。eMMcで16gb,RAM 4gb,CPUはARM,10インチ,900g。4万程度。タブレットみたいな値段だ。いいじゃないの。とても安い。1kgを切ると軽い感ある。いろいろと変形合体みたいなギミックになっているのは,はっきりいってなんの意味もないのけど,おっさんには嬉しいものだ。それに,むかし愛したSharpMebius Muramasaにそっくりじゃないか。あのバカみたいな薄さと非力さ。いいぞう,可愛いぞう。

 

で,ChromeOSには限界がありそうなので,好みのLubuntuを入れる。これはかなりやられていることのよう。

参考にしたのは,こちらのサイトさま。

 

neos21.hatenablog.com

chromesoku.com

 

要はChromeOSから仮想化機能でいれるわけだ。買ったそのときからすぐにデベロッパーモードに入ったら,すげえビープ音とか鳴らすもんでびっくりしたけど,まあ上のリンク先のとおりにしたら,現在もなんの問題もなく導入できる。もちろん,クリーンインストールもできないことはないらしいのだけど,ちょっと設定がめんどいらしい。

ちょっと自分用のメモだけど,terminalからbashに入った段階で,

sudo sh ~/Downloads/crouton -r list

とすると,ディストリビューションのリストがでるので確認したほうがいい。現在は18.04のbionicが最新で,LTSなのでしばらくはこれでいいかな。

追記:…と思ってbionicやったのだけど,現在は18.04のbionicはうまく対応ができていないみたいで,実際に色々問題があった。無理やりやったら解決するだろうけど,手間なので結局その前のLTSであるxenial,つまり16.04で入れたほうが絶対にいい。xenialのサポートは2021まで。もしかしたらtrustyとかのほうがいいかもしれないくらい。

この仮想環境実行中に,ChromeOSとLubuntuはキーボードショートカットキーですぐに切り替えられるみたいだ。便利ね。

ChromeOSも話題になるだけあって,なかなか興味深い。特にGooglePlayに対応しているので,Androidアプリが動く。いいじゃないの。

で,Lubuntuのほうにいつもの通りAtomを入れて,いろいろAtomに連携させればいい。

 

…などと思ったのだけど,重大な問題を考えていなかった。この筐体,ASUS Chromebook Flip C101PAはARMアーキテクチャだった。調べた限りでは,Atom(エディタ,ややこしい)はこれにまだ対応していない。しまったー。

それに数日使ってみたら,どうもLXDEはそんなに安定してないようで,挙動が結構怪しい。xfce環境のほうが安定しているようだ。最近のGNOMEは正直よくわからないし,ましてやUnityなんて重いしおしゃれだしおしゃれだしおしゃれだし,なんていうか身を焦がすデスクトップ環境の代表だ。

それに,なんと調べたら,まだβ版なんだけど,最近のChromeOSはネイティブでLinuxモードというのを起動できるようになったみたい。この筐体は対応している。

Linuxモードをオンにすると,普通に端末が開いて,aptなどが使えるので,RやEmacsなどをいれてみたら見事動いた。残念ながら,このモードだと日本語対応がまだしっかりとはできないみたいだけど(たとえばEmacs-mozcが入らない),EmacsにESS入れてRを動かしたり,EmacsからMarkdown書いたり,TeXを書いたりといろいろできるので,ま,これでいっか,というような感じ。

Emacsは久しぶりで,自分なんか初心者ともいえない低レベルだけど,Emacsにまたひきこもろう。…というわけで,どうせAtomが入れられないならEmacsするしかないわけで,croutonを使っていれたLXDE環境は一度Powerwashして,LinuxモードからEmacs開くことにした。

というかChromeOSいいね。Android環境とLinux環境が共存している。まあ,もとがそもそも同じようなもんだからだけど。いずれにせよ,これでwineとかしたらWindowsアプリにも動くのがありそうだし,とっても楽しそう。

brmsパッケージでカーブフィッティング

計量言語学のMenzerath-Altmann法則をbrmsで。

(a)y = ax^{-b}e^{-cx}

s<-1:5
m<-c(3.1,2.53,2.29,2.12,2.09)
dat <- data.frame(s, m)
my.prior <- prior(normal(0,3), nlpar = a) + prior(normal(0,1), nlpar = b) + prior(normal(0,1), nlpar = c)
fit <- brm(bf(m ~ (a*s^-b)*exp(1)^(-c*s), a + b + c ~ 1, nl = TRUE),
	data = dat,
	prior = my.prior,
	save_all_pars=T)
summary(fit)


f:id:kusanagik:20180914171856p:plain


f:id:kusanagik:20180914172534p:plain

これ,データポイントが少ないから,事前分布の設定がすげえ問題だよね。
適当に,

  • a ~ Normal(0,3)
  • b ~ Normal(0,1)
  • c ~ Normal(0,1)

とかにした。実際に-1とか1とかの値を取ることがほとんどないbcはともかく,このaの設定は恣意的といわざるをえないけど。
ちなみに,より簡単な,

(a)y = ax^{-b}

ベイズ因子やWAICで比べてみるとか。

my.prior <- prior(normal(0,3), nlpar = a) + prior(normal(0,1), nlpar = b)
fit2 <- brm(bf(m ~ (a*s^-b), a + b ~ 1, nl = TRUE),
	data = dat,
	prior = my.prior,
	save_all_pars=T)
summary(fit2)

f:id:kusanagik:20180914172915p:plain

f:id:kusanagik:20180914172933p:plain

bayes_factor(fit,fit2)
waic(fit, fit2)

fitがfit2より高かったけど…微妙。

AtomからRを使うための設定(Ubuntu系OS)

お気に入りのエディタからなにがなんでも出たくないという病気。
ここ3年はAtom推しなので,今回はAtomからRを使用する環境を作る。

環境は,Lubuntu 18.04 LTS。
でも別にこのOSがなにか特別なわけじゃない。

これまでAtomからRを使うときは,Atomのパッケージである,

  1. language-r
  2. autocomplete-r
  3. build-rscript

などといったものを使っていた。
詳しくは,こちらの記事の通りに。

Atom - RjpWiki

というか,buildがめんどくさくて,もうterminalをペインに開いて打っていたけど。

でも最近,Atomでrboxというパッケージができたらしい。
これはちょっと便利そうじゃないのー。

atom.io

基本的な方針としては,

  1. Rをインストール
  2. Jupyterをインストール
  3. Atomをインストール
  4. JupyterにR言語を対応させる
  5. AtomにJupyterを対応させる

というような手順。Jupyterを経由するという発想。

  1. JupyterとRの対応は,RからIRkernelを入れる
  2. AtomとJupyterの対応は,AtomからHydrogenを入れる
  3. 最後にrboxを入れる

ま,そのままJupyterを使ってもいいんだけど,個人的にAtomでやりたい。

さて,順番にコードを書いていく。

コンソールからRを入れる

sudo apt-get install r-base-core

Jupyterを入れる

sudo apt-get install jupyter

Atomを入れる

sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom

IRKernelのための準備

sudo apt-get install libzmq3-dev libcurl4-openssl1.dev libssl-dev

(なんかココ変だな,Rのdevtoolsはcurlがないと入らないのだけど,curlは依存関係があるようだ。もしだめだったら,libcurl3とかを先にいれないとだめかも。で,libcurl-openssl1.0-devを最後に入れるのかな?)

RからIRKernel関連を入れる

install.packages(c('crayon', 'pbdZMQ', 'devtools'))
devtools::install_github(paste0('IRkernel/', c('repr', 'IRdisplay', 'IRkernel')))
library(IRkernel)
IRkernel::installspec()

Installation · IRkernel

これでJupyterとは対応されるはず。

jupyter-notebook

と打って,ブラウザ上からNewを開いて,Rが追加されていることを確認。
あとは,Atom上で以下のパッケージを入れる

  • rbox
  • hydrogen
  • atom-beautify
  • termination

これでOKなはず。