パクチーとみたの備忘録

パクチーとみたの備忘録

備忘録and日記。誰かの役に立てばいいな。

効率的なキーボード配列/ショートカットについて考えてみた(Mac)

f:id:tommy-acoustic-7:20200225015647j:plain

私の好きなエストニアは、他国に何度も侵略された歴史から、「物理的に国土が占領されても、消えない国を作ろう」という意図で、インターネット上で国民が繋がる状態、つまりデジタル国家を作り始めたそうです。

 

また、P&G米国本社の会長だったリチャード・R・デュブリー氏も「お金、資産、ブランドが全てなくなったとしても、社員さえいれば10年でP&Gを元通りに再建できる」と述べて人材育成に注力しました。

 

そこで私も、コンピューターがいつ水浸しになったとしても、いつでも最高の設定を新しいコンピュター上で再現できるように、このブログに書き留めることにしました(?)

(環境:Mac

 

お読みになった上で、”こここうした方がもっといいわよ〜”、などなどあれば教えてくれると助かります。

 

 

 

キーボード配列(キーの再配置)

私はひねくれた性格なので、誰かが決めたキー配列に従うのは嫌です(アホですね)

したがって、もっと効率的に再配置・変更することに決めました!

 

具体的には以下の通りです。

  • 英数キーを、全角/半角キー(押すと英数かなが入れ替わる)に変更
  • controlをenterに、かなキーをdeleteに変更
  • fnをcontrolに変更

こうすることで、両手をあまりホームポジションから動かすことなく、省エネにタイピングすることができます!右手の小指に優しい!! 

 

使用したのはkarabinerというアプリです。こんな感じ。

f:id:tommy-acoustic-7:20200225004633p:plain

ここからダウンロードできます。わりかし直感的に操作できるアプリですが、必要な方は使い方をこちらで確認してみてください!上記の設定は、Simple Modification(画像参照)とComplex Modificationで出来ます。

webrandum.net

 

 

ちなみに、こんがらがらないように 私のパソコンにはシールが貼ってあります。笑

 

f:id:tommy-acoustic-7:20200225005220j:plain

 

 

 

 

ショートカット

システム環境設定のショートカット作成/変更

ロームを閲覧する時に便利なショートカットをシステム環境設定で作りました。

ロームにもともと備わっている新タプ作成(⌘T)タブ削除(⌘W)リロード(⌘R)などに加えて、前後のタブへの移動検索窓への入力を追加しました。

(正確にはもともと備わっていますが、押さえにくいコンピネーションなので、システム環境設定から変更することをお勧めします。)

f:id:tommy-acoustic-7:20200225011240p:plain

Karabinerでのショートカット作成

キーボード配列の上のくだりで使用したKarabinerが再び登場です。

以下のサイトを参考にして、Karabiner上で機能するオリジナルのショートカットを作成しました。

webrandum.net

 

内容としては、アプリケーションを開けるショートカットで、

  • option+F : Finderを開く
  • option+G : Google Chromeを開く
  • option+L : Lineを開く
  • option+M : Mail for Gmail を開く
  • option+T : Terminal を開く

などです。

実際のコードはこんな感じ

{
  "title": "Launch apps",
  "rules": [
    {
      "description": "Launch apps by left_option+letters.",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "a",
            "modifiers": {
              "mandatory": [
                "left_option"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "shell_command": "open '/Applications/Utilities/Activity Monitor.app'"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f",
            "modifiers": {
              "mandatory": [
                "left_option"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "shell_command": "open ~"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "g",
            "modifiers": {
              "mandatory": [
                "left_option"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "shell_command": "open '/Applications/Google Chrome.app'"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "l",
            "modifiers": {
              "mandatory": [
                "left_option"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "shell_command": "open '/Applications/Line.app'"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "m",
            "modifiers": {
              "mandatory": [
                "left_option"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "shell_command": "open '/Applications/Mail for Gmail.app'"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "t",
            "modifiers": {
              "mandatory": [
                "left_option"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "shell_command": "open '/Applications/Utilities/Terminal.app'"
            }
          ]
        }
      ]
    }
  ]
}

 

 

これを下記フォルダ内に.json拡張子で保存して、配置します。

/Users/ユーザ名/.config/karabiner/assets/complex_modification

あとはkarabiner上で有効化するだけです。(やり方は先ほど紹介した独自ルールの設定方法の記事をご参照ください。)

 

 

おまけ:意外と使いこなせていない(?)ショートカット

 ついでに賢い友人が教えてくれた、既存の賢いショートカットについても書いておきます。結構な人が使いこなせていないのかな、と思います。

 

柔軟なスクリーンショット:command+shift+5

このスクリーンショットは、最近のOSアップデートから使えるようになった機能らしいです。以前まで使えなかった、保存先の指定や撮影するエリア選択が便利にできます。

 

アプリの強制終了:command+option+esc

音楽や動画の編集やプログラミングをしているときに、動作が重くなって、クリックすらできないことがありますよね。その際に使えるショートカットです。

 

 

以上、私の効率的なキー配列&ショートカット達でした!異論は認めます!

 

 

重宝しているAndroidスマホのアプリ集

f:id:tommy-acoustic-7:20190502010955j:plain

個人的に携帯をしょっちゅう落としたり無くしたりして新しく買い替えているので、備忘録として、よく使っている便利なアプリをメモっておきます。全部無料です。

 

個人的オススメ度☆☆☆〜知らない人も多いけど便利だからぜひ!〜

IOS Launcher

play.google.com

あんまり使っている人をみかけないのですが、個人的に最もおすすめするAndroidアプリですね。どんなアプリかと言うと、待受画面や、ホーム画面のアイコンのデザイン・配置などをiPhoneっぽく変えてくれる、いわばデザインiPhone化アプリです。(いわゆるランチャー系アプリ)

Androidもosとして年々便利になっているのですが、やはりデザインの面ではまだまだiPhoneiosには勝てないと思います。前まで、アイコンのデザインや配置といったデザインを重視してた私はiPhone一択でしたが、現在はデザインをコピーできちゃうアプリが出てきたので、Androidを愛用しています。

そんなに負荷のかかるアプリでもなく、動作がおそくなったり、電池の消耗が早くなるということも顕著なほどではないと思うので、1番おすすめです。

ダウンロードしたら、アプリの指示に従って操作していくだけなので簡単なのですが、一応使い方を説明していくれているページを貼っておきます。
ランチャーアプリを使ってAndroidをiOS風にする方法 | ドロ場


Opera

play.google.com

みなさんはスマホでネットサーフィンするとき、どのアプリを使っていますか?恐らく多くの人はデフォルトでプリインストールされているアプリか、グーグルクロームを使っていると思います。

Safari、クロームファイヤーフォックスなどの多くのネットサーフィン用のアプリを使用してきた私としては、Operaが最強なんじゃないかな、と思っています。

好みの問題もあると思うのですが、少なくともスマホアプリとしてはとても重要なユーザーインターフェースが一番発達しているのではないかなと個人的に思います。例えば、ページ内のurlを長押しして”新しいタブで開く”といった動作を行うときに、そのタブに移動するかどうかを質問してくれるのはとても便利です。(クロームだと自分でタブを移動しないといけません。)こういった一つ一つの細かな違いが使用感の良さを大きく左右するのではないでしょうか。
あと、デフォルトでGoogleというアプリが入っているスマホだと、クロームをメインアプリに設定していても、ホーム画面を下にスライドしたときに出てくる検索窓からググったときに、Googleというアプリに飛んでしまいます。Operaをメインアプリと設定すると、その際にOperaに飛んでくれるのも便利です。


グーグルフォト

play.google.com

個人的に意外だったのですが、僕の周りはグーグルフォトを使っていない(というより知らない)人も多くて、このアプリを使えば容量で悩まなくて良いのに〜〜と口出ししたくなることも多々あります。

撮影された写真や動画を自動で自分のクラウド上にアップしてくれるので、アップされたらスマホ本体から写真や動画を削除することができ、何GBも節約することができます。あと、スマホを急に無くしたり水没させてしまっても、新しいスマホにもこのアプリを入れれば、そのアプリ上で写真や動画を確認(復活)できるので、とても良いですよね。個人的に、必須アプリだと思います。


明るさ調節

play.google.com

デフォルトの明るさ調整機能だと暗さが足りないよーと思う私にとっては、夜にベッドでスマホをいじるときに重宝しております。寝る前はブルーライトを極力切って(恐らくお使いのosが古くなければ、設定のおやすみライト的な名前の項目からできると思います)、明るさも極力下げて睡眠の質を高めたいのです。まあ、使わないのがベストなんですけどね。。

となりで寝ている恋人を起こさないようにこそこそスマホをいじりたいときにも便利()


個人的オススメ度☆☆〜使ってる人も多いと思うけど備忘録として一応書いとく〜

ここからは、新しいスマホにしたときに、あれ〜どんなアプリ使ってたっけ〜と思い出さなくて済むようにするためのゾーンなので、ちゃっちゃとかるーくメモしていきます。汎用性の低いものもありやす。

Gmail

デフォルトのメールアプリより恐らく便利!

Keepメモ

デザインとか使いやすさは微妙だけど、メモアプリ。明日とか今日思い出す必要のあるものはラインの個人グループにメモって、ずっと残しておきたいものはこのアプリに。

TimeTree

予定帳は完全にデジタル化しておりやす。時々通知リマインダーに助けられる。誰かと予定を共有したいときに便利。バンドとか恋人とか。。

Amazon Prime Video

最近見てないや。。。

ハヤえもん

楽譜の耳コピに便利。あと音声ファイル(講義とか)の再生速度を上げたり。

グーグル翻訳

エストニア語は読めないのでこれに頼る留学生活。

あとは、ラインとかピアノアプリとかキンドルとかスカイプとかサウクラとかフェイスプックとかミカタンとかネットフリックスとか麻雀アプリとか。

巷で噂のアプリ。

広告なしでyoutubeが見れるアプリとダウンロードできるアプリ。

※法律的にはアウトなので使用するか否かは、各々の倫理観に委ねます!このページはこれらのアプリの利用をすすめるものではありません。

neggly.org

snaptube.jp.uptodown.com




以上

R言語(プログラミング)を用いて非線形成長モデルの将来予測・考察をしてみた(エストニアの政府データを利用)

f:id:tommy-acoustic-7:20190427005557p:plain

Tere!🇪🇪

北欧はエストニアの、タルトゥ大学で計量経済学を学んでいるとみたです。

4月になり、エストニアは急に暖かくなってきました。
つい最近までコートで出かけていたのに、今じゃ半袖の人もちらほら見かけます。

ここ留学が決まった時は、色んなことをブログに書こうと思ったのですが、全然書けていませんね....(シンプル怠惰)


来月あたり、"エストニア留学生の1日”と題して、それっぽい動画をあげようかな...とは思っています。
(先に宣言して自分を追い込むタイプ。故に有言不実行が多い。良くない。)


ということで今回も、主に自分の備忘録として、ニッチなプログラミングと経済学に関する記事を書いていきます〜。

前回に引き続き、エクセルでも出来る事なのですが、
モデル作成から描画までR言語を用いるととてもスピーディーなので、個人的に良いなと思っています。

どっかのRを使われされている大学院生とかに役立てばいいなあ。

前置き

f:id:tommy-acoustic-7:20190427021433p:plain

今回のテーマは、エストニアの政府データを利用して、X-Roadの経済成長のForecasting(予測)を行なってみよう!といったところです。

X-Roadというのは、エストニア電子政府を根源で支えているとっっても重要なサービスです。

eID(日本でいうマイナンバー)にくくりつけられた、運転免許や処方箋と言った個人の様々な情報が、X-Roadという基盤を通して、必要とする機関に開示されます。その結果、個人は運転免許証やお薬手帳を持ち歩く必要がありませんし、納税もパソコンでサクッと行うことができます。

そんなことしたら、個人情報の安全性はどうなるの〜〜とお思いになるかもしれませんが、ここで肝なのが、X-Roadは、個人の情報を一括して保持しているのではなく、各機関がその情報を必要とし、情報開示の要求を発行した際に、情報を得る権利を各機関に与えるという役割を持っているという点です。これによって、情報は安全に透明性の高いシステムの中で運用されます。
(もっとうまく説明されている記事がたくさんあるので、気になった方はググってみてくださいね。)

説明が長引いて、ちょっと脱線してしまいましたね(汗)

今回は、そんなX-Roadの経済成長に関して、R言語を用いて予測・考察をしていきます。

目的

具体的に何を行うかというと、X-Roadに関する2種類の予測と考察をしていきます。

経済予想1(情報開示請求数)

データ公開時までの非線形成長モデル y=a \times b^xが維持された場合、例えば2020年12月にX-Roadにおいて行われる情報開示請求数はいくつになるだろうか。(データから成長モデルも求める)

経済予想2(サービス数)

データ公開時までの線形成長モデル y=a + b \times xが維持された場合、例えば2019年3月にX-Roadのサービス(例:医師と薬剤師間の患者の処方箋の共有サービス)の数のはいくつになるだろうか。(データから成長モデルも求める)

予測のプロセス

どちらの予測のプロセスも、大まかに以下の3つフェーズに分類できます。それぞれRを用いてスピーディーに行います。

①標本数と時間をインプットしプロットを作成
②成長モデルを求める(パラメーターを推定)
③予測を行う

考察(消費者数)

X-Roadの消費者数はどのように増加しているのか可視化した上で、線形または非線形に近い理由は何か考える。



ではまず、二つの予想を順番に行なっていきましょう。

2020年12月次の情報開示請求数の予測

標本数と時間をインプットしプロットを作成

まずは、データをインプットします。関数option()のscipenによって指数表記を回避しておきましょう。

options(scipen=100000)
xroad=read.table("http://www.ut.ee/kristjan.vassil/wp-content/Xroad_monthly.csv",,header = T,sep=",")

そうしたら、プロットする前に、表(ベクトル)を定義しましょう。
y軸を請求数、x軸をデータが始まっている2003年からの月数とします。

# Define vectors y (queries) and x (count of months from Jan, 2003)
y=xroad$Queries
x=1:length(y)

定義したら、プロットします。

plot(x,y,ylab="Queries",xlab="Month")  

するとこんな風に描かれます。
f:id:tommy-acoustic-7:20190427072046j:plain

成長モデルを求める(パラメーターを推定)

次に、 y=a \times b^xの成長モデルを求めていきます。

#Estimate parameters a and b for y=ab^x
exponent.queries=nls(y~a*b**x,start=list(b=1,a=21670))
exponent.queries

するとこんな風に係数が求まります。

Nonlinear regression model
  model: y ~ a * b^x
   data: parent.frame()
          b           a 
      1.023 1659219.979 
 residual sum-of-squares: 1929083179148436

Number of iterations to convergence: 11 
Achieved convergence tolerance: 0.0000009646

そうしたら、このモデルを描画させましょう。

#Plot fitted line
plot(x,y,ylab="Queries",xlab="Month")
lines(x,coef(exponent.queries)["a"]*coef(exponent.queries)["b"]**x,lwd=2)

すると、こんな図ができます

f:id:tommy-acoustic-7:20190427073808j:plain

予測を行う

では、最後に予測を行なっていきます。

months2=1:216 # 予測をする分の216ヶ月目まで範囲を延ばす
plot(months2,coef(exponent.queries)["a"]*coef(exponent.queries)["b"]**months2,type="l",ylab="Queries",xlab="Month",lwd=2,lty=2) # draw a line using the above sepcified function with estimated parameters
points(x,xroad$Queries) # add actual data
lines(x,coef(exponent.queries)["a"]*coef(exponent.queries)["b"]**x,lwd=2) # mark prediction line with dashed line
queries216=(coef(exponent.queries)["a"]*coef(exponent.queries)["b"]**months2) # calculate predicted values for all months
sum(queries216[months2>=216]) # 216ヶ月目の月間合計予測データを計算
 ||<

[f:id:tommy-acoustic-7:20190427075034j:plain]

こんな予測グラフが出力されました。


結果としては、
>|r|
[1] 215047461

より、データ公開時までの非線形成長モデルが維持された場合、2020年12月にX-Roadにおいて行われる情報開示請求数は215047461になることがわかった。

2019年3月次のサービス数の予測

ほとんど上記と同じ流れで行なっていきます。違うのは線形か非線形かの違いくらい。

標本数と時間をインプットしプロットを作成

すでにインプットは行われているので、いきなりプロットを描画しちゃいます。

#Step 1 - plot the relationship
plot(x,xroad$Services,ylab="Services",xlab="Month") #Plot services over time

こんな感じですね。

f:id:tommy-acoustic-7:20190427075118j:plain

成長モデルを求める(パラメーターを推定)

そしたら、線形モデルを求めましょう。

#Step 2 - Estimate parameters a and b for y=a+bx
linear.services=lm(xroad$Services~x)
linear.services

すると係数が求まります。

Call:
lm(formula = xroad$Services ~ x)

Coefficients:
(Intercept)            x  
      55.80        10.27  
 ||<

では、グラフを出力していきます!
>|r|
#Plot fitted line
plot(x,xroad$Services,ylab="Services",xlab="Month")
abline(linear.services,lwd=2)

f:id:tommy-acoustic-7:20190427080148j:plain

予測を行う

実際、手作業でもできちゃうレベルなのですが、まあここは基礎を学ぶ意味も込めてR言語で予測していきます。

months2=1:195 
plot(months2,predict(linear.services,newdata=data.frame(x=months2)),type="l",ylab="Services",xlab="Month",lwd=2,lty=2) # draw a line using the above sepcified function with estimated parameters
points(x,xroad$Services) # add actual data
lines(x,predict(linear.services,newdata=data.frame(x=x)),lwd=2) # mark prediction line with dashed line
linear.services=55.79820+10.26877*months2  # calculate predicted values for all months
linear.services[181:195]
 ||<

このコードによって、181ヶ月目から195ヶ月目までのy切片(サービス数)の値を出力してくれますね。
>|r|
[1] 1914.446 1924.714 1934.983 1945.252 1955.521 1965.789 1976.058 1986.327 1996.596 2006.864 2017.133 2027.402 2037.671 2047.940 2058.208

したがって、2058.208個のサービスが利用されるという予測が立ちました。

図はこんな感じになります。
f:id:tommy-acoustic-7:20190427080940j:plain



考察(消費者数)

ここまではX-Roadの成長の予測を行なってきたのですが、ここではついでに消費者数のプロットを打って、得られる図から考察を行います。

既にインプットしてあるデータから、消費者数の推移を描画させます。

このコードから、

plot(x,xroad$Consumers,ylab="Consumers",xlab="Month")


f:id:tommy-acoustic-7:20190427081712j:plain


明らかに線形モデルだとフィットしませんね。

消費者の増加がこのような曲線になる理由は、イノベーター理論が説明可能でしょう。

イノベーター理論とは、1962年に米・スタンフォード大学社会学者、エベレット・M・ロジャース教授(Everett M. Rogers)が提唱したイノベーション普及に関する理論で、新しいサービスがどのように消費者の間で普及していくかという説明をするものです。

以下のグラフのように、最初は新しいもの好きのイノベーティブな消費者からゆっくり広まり、みんながやっているならやるか、という人たちの間でグッと広がり、最後にまあシャーなしでやるかという風に変化をあまり好かない人たちの間で広まっていきます。

f:id:tommy-acoustic-7:20190427082108j:plain


現実に、社会科学の理論が成り立っているのを観察することのできる面白い一例ですね。

R言語を用いて回帰分析(S字曲線回帰)を行ってみた ~エストニアにおける電子投票拡散プロセスの成長モデリング例〜

 

f:id:tommy-acoustic-7:20190313031829p:plain

 

Tere

雪降る北欧でブルブル震えながら、数量経済学などを勉強しているとみたです!

 

今回は、エストニアにおける電子投票拡散プロセスの成長モデリングを行うために、R言語を用いてS字曲線回帰を行ってみました!

 

そしてその過程を備忘録として書いておきます。

R言語を用いたS字曲線回帰について記述している日本語のブログを見つけられなかったので

 

文系の方でも、研究・論文を書く際などに回帰分析を行うことが多いと思うのですが、R言語を利用するとスピーディーに描画できるので、よかったら参考にしてみてください!

 

 

 

 

 最終目標

エストニアにおける電子投票を採用している8つ選挙に関するデータを使用し、

エストニアにおける電子投票率の成長をモデル化(S字)する。

 

(恒久的に成長することがない天井のある対象の場合(~率など)は、S字曲線回帰を行うのが良いケースが多いのではないのでしょうか。ちなみに、今回求められた線形成長モデルだと24回目には電子投票率が100パーセントを超えてしまいます。笑)

 

 

手順

今回はR言語を用いた回帰分析の備忘録なので、遠回りになりますが、

線形モデルを作成した後に、S字モデルを出力します。

 

したがって、以下のように基本的な回帰分析の流れをアレンジしてコードを書いていきます。

 

 

 

①データをインプットし、2変数のデータをプロットした散布図を作成

 

 

まず、電子投票者のシェアと選挙に関するデータをリンクから直接収集します。

 

# Import the data

evote=read.table(url("http://www.ut.ee/kristjan.vassil/wp-content/evote_aggregated_workshop.csv"),

                 header = T,sep=";",dec=",")

 

 

そして、データをプロットさせ、散布図を作成。

 

plot(evote$election,evote$evoter_share,xlab="election",ylab="Share",col="skyblue",pch=16,ylim=c(0,0.4),cex=2)

 

f:id:tommy-acoustic-7:20190313031349p:plain

 

 

 

②一次関数を仮定した後、係数を求め、回帰式を決定

 

 

今回の対象は電子投票の拡散プロセスなので、

 

evoters=b0+b1election  と方程式を仮定して、

 

この一次関数を、下のコードを入力することで、データにフィットさせます。

 

# Run the regression

linear_model=lm(evoter_share~election, data=evote) 

# Get parameters of the function

coef(linear_model)

 

すると、

 

##  (Intercept)     election

## -0.009857143  0.042523810

 

という結果が出てきました。

 

 

これによって、

y切片(b0)は、-0.009857143

傾き(b1)は、0.042523810と分ります。

 

 

ということで、

 

# compute the fitted values

predicted_linear=-0.009857143 + 0.042523810*evote$election

 

# alternatively we can use built-in function

# predict(linear_model,newdata=data.frame(election=evote$election)

 

# how the vector predicted_linear looks like

predicted_linear

 

を入力して、予測できるそれぞれの選挙の値を求めます。

 

## [1] 0.03266667 0.07519048 0.11771429 0.16023810 0.20276191 0.24528572

## [7] 0.28780953 0.33033334

 

このような結果が求められました。

 

 

③線形関数グラフを出力(平均絶対誤差(MAE)も求める)

 

 

必要なデータが揃ったら、以下のコードでグラフを出力させます!

 

plot(evote$election,evote$evoter_share,xlab="election",ylab="Share",col="skyblue",pch=16,ylim=c(0,0.4),cex=2)

lines(evote$election,predicted_linear,lwd=2,lty="dashed")

 

f:id:tommy-acoustic-7:20190313031424p:plain

 

 

 

いい感じに描けました。

 

ラインがデータクラウドの上下をどのように通過するかを見てみると、遠く離れた点はありませんね。

 

これは、電子投票の増加が8つの選挙にわたってかなり直線的であることを意味しています。

つまり、電子有権者の選挙ごとの増加は、ほぼ一定です。

 

 

ついでに、後で比較するため、

適合度(この関数がデータにどの程度適合しているか)も計算してみましょう。

 

具体的には実際のシェアと予測されたシェアの間の平均絶対差を求めます。

このような適合度は平均絶対誤差(MAE)と呼ばれ、値が小さいほどモデルのデータへの適合度が高くなります。

 

MAE=mean(abs(evote$evoter_share-predicted_linear))

MAE

 

と入力すると、

 

## [1] 0.02367857

 

と出力されました。MAE0.024ですね。

平均2.4%の絶対誤差があると解釈できます。

 

 

④対数ロジスティック関数(S曲線)を出力

 

最終目標のパートでも書いたように、今回の対象のグラフは右肩上がりにずっと伸び続けることはないので、線形成長モデルは将来的にはうまく機能しなくなります。

(ちなみに、上記の線形成長モデルだと24回目には電子投票率が100パーセントを超えてしまいます笑)

 

よって、対数ロジスティック関数(S曲線)を出力します。

 

y=a/(1+ce^(-blog(x)), a0.6投票率60パーセントまで伸びる)と仮定し、

 

loglogistic06=nls(y~0.6/(1+c*exp(-b*log(x))),start=list(b=0.2,c=20))

coef(loglogistic06)

 

から

 

##         b         c

##  1.502672 20.364245

 

 

という結果が出てきたので、これをグラフ化します。

 

predicted_loglogistics06=0.6/(1+20.36*(exp(-1.50*log(t))))

 

plot(t,predicted_loglogistics06,type="l",lwd=2,ylim=c(0,1),xlab="election",ylab="Share",lty="dashed")

points(evote$election,evote$evoter_share,col="skyblue",pch=16,cex=2)

 

f:id:tommy-acoustic-7:20190313031451p:plain

 

ちなみに、MAEは、

 

MAE=mean(abs(evote$evoter_share-predicted_loglogistics06[1:8]))

MAE

 

より、## [1] "0.03154756" と出てきます。

<留学生向け>エストニア(タリン・タルトゥ)でビザを申請・取得する方法

日本からエストニアに留学する場合、多くの人は日本でビザを取得すると思いますが、

 

中には私のように

 

「まあ90日はビザなしで滞在できるんだから、いい経験にもなるだろうし向こうでビザ申請しようっと。あはは。」

 

なんて考えてしまう、チャレンジャーな方もいると思います。

 

まあ実際いい経験にはなりますが、如何せん情報が少ないので、正直大変っちゃ大変です。。。

 

ですので、今回はそんな人のために!

エストニアでビザを取る方法に関して、エストニア留学の先輩として記事を書いていきたいと思います〜。

(やはり同様の日本語の記事をネットで見つけられなかったので。。)

 

 

ちなみに、在日エストニア大使館は公式ホームページ内で、エストニアでビザを取ることを勧める旨の記述をしていますが、個人的には日本で取ることをオススメします。(ただしその際は、在日エストニア大使館はなかなか返信をくれないので、繰り返しメールや電話で返事を催促しないといけません。)

 

 

 

ステップ1:必要書類を用意!(日本で用意するのがオススメですが。)

 

下のエストニア外務省の公式サイトから、必要な書類をチェックして用意してください!

 

英語かエストニアに翻訳してもらわないといけないことに注意。

 

日本で翻訳できなかったよ〜って人は、インターネットで最寄りのtranslation officeを探して行ってください!(僕はそうしました。だいたい50~100ユーロかかります。高い。泣)

 

vm.ee

 

 

ステップ2:ネットで警察署でのビザ申請手続きを予約!

 

エストニアは電子国家を謳うだけあって、警察のアポイントメントもネットでできます。(日本の役所とかも見習ってほしい。)

 

まずは、警察の公式ホームページ内の予約システム(下に記載)にアクセス!

broneering.politsei.ee

 

こんな感じのページです。

 

ここで book an appointment をクリック!

 

f:id:tommy-acoustic-7:20190222205858p:plain

 

 

 

そうしたらここでDvisaを選びます。

f:id:tommy-acoustic-7:20190222205928p:plain

 

 

次にどこの警察署で申請するかを選べるので、最寄りの警察署を選びます!(タルトゥにも在るのありがたい)

f:id:tommy-acoustic-7:20190222205919p:plain

 

 

そうしたら、今度は日時を選んでください

f:id:tommy-acoustic-7:20190222205911p:plain

 

最後に名前と生年月日を入力したらおしまいです!

 

アポ申請完了のお知らせメールが届くので、そこに添付してあるQRコードか申し込み番号を当日に確認して手続きを行うだけです!

 

f:id:tommy-acoustic-7:20190222205904p:plain

 

 

アポを取らずに警察署に行くことも可能ですが、待つことになるかもしれないので、こうして予約することをオススメします!

 

 

警察署のくせにHPのUIちゃんとしててすごいなあ。。。

 

ではでは。

Macを便利にする 2つの設定変更(デフォルトのメールアプリの変更とスクショ先の変更)

デフォルトのメールアプリがビミョいなーと以前から思っていたので、mail for Gmailアプリを入れてデフォルトアプリに設定したのと、スクショ先をデスクトップからピクチャフォルダに変更しました。(これでデスクトップが綺麗に!)

 

そのやり方をメモっておきます。

 

f:id:tommy-acoustic-7:20190124163759p:plain

 

 

デフォルトのメールアプリの変更

 

Gmailの強みとして、メルマガなどの定期メールを”プロモーション”という枠に自動で入れてくれることが挙げられます。その枠に入るメールは、通知が来なくなるのでストレスが減るとともに、必要なメールだけが、メインフォルダに残るので、とても見やすくなります。(macに最初からあるメールアプリだとこれはできない)

 

ステップとしては、

 

1:mail for Gmail をインストール(無料)

Mail for Gmail

Mail for Gmail

  • Rocky Sand Studio Ltd.
  • Productivity
  • Free

 

 

2:最初から入っているメールアプリの設定→一般からデフォルトのメールアプリをmail for Gmailに変更

support.apple.com

 

3:手動でドッグバーから最初から入っているアプリを消去&mail for Gmailをドッグバーに追加(ドラッグ&ドロップ

 

という様な感じです。

 

ちなみに、Gmailの便利機能に送った後に取り消しをできる機能があるのですが(とても便利で好き)、送信してから取り消しができるまでの秒数を設定で変更できます。デフォルトでは5秒なので、僕は30秒に変えておきました。

 

 

スクショ先の変更

 

mac でスクショを撮ると、デスクトップに自動でファイルが保存されてしまうのが、とっても嫌で、変えたいなあと2年ほど思っていたのですが、ついに保存先を変更したので、参考になったサイトをここに載せておきます。

 

追加事項としては、プログラミングを普段やっていない人は、”ターミナルの開き方”でググって、そこに以下のサイトのコードをコピペすることを理解しておいてください。

 

ideacloud.co.jp

 

デスクトップの乱れは心の乱れというので、これであなたも今日から品行方正清純派ボーイ(ガール)ですね(ウインク)

 

 

adb: command not found になったら

この記事は、久しぶりにADBハックをした時に忘れがちなことのメモです。

 

f:id:tommy-acoustic-7:20190124013155p:plain



 

 Androidスマホをパソコンに繋げて、ADBハックをしようとターミナルでコードを書いて、

 

adb: command not found

 

が出てきた時は、

 

export PATH=$PATH:/Users/(ユーザー名)/Library/Android/sdk/platform-tools

 

を入力すれば、解決。

 

僕の場合は

export PATH=$PATH:/Users/tomitanaoto/Library/Android/sdk/platform-tools

 

 

ちなみに、どのデバイスが繋がっているか確認する時は

 

adb devices 

 

で確認できる。