ほとラボ

It works!

統計的仮説検定でクロバットVの封入率の偏りを暴く

先週発売されたポケカの新弾「ムゲンゾーン」の注目カードといえばこれです。

「デデンネGX」「ワタシラガV」などと並ぶ汎用カード。 確実につよい。 4枚は欲しい。

ええ、我が家では 3Box 買いました。(※ このツイートの後もう 1Box 買い足した)

しかし!
ノークロバット!!!

は?????

こんだけ買って出ないとかさすがに何かの間違いではないか。 ハッサムVは死ぬほど出たのに。

ちなみに同じく 4Box 買った同僚に聞いてもクロバットVは1枚しか出なかったとのこと。

合計 7Box も開けてクロバットVが1枚しか出ていないのは、果たして本当に偶然だろうか? もしや「汎用カードのクロバットVだけ封入率を低くしておけばたくさん買ってくれるじゃろ、ぐへへ」みたいなポケカ公式の思惑があるのではないか???

仮説検定をしてみる

というわけで、一応データ分析屋のはしくれとして、統計的仮説検定を用いて「クロバットVの封入率に偏りがあるかどうか」を考えてみる。

統計的仮説検定
データに基づいて何らかの仮説の真偽を客観的かつ合理的に判断するための方法。 仮説の設定、検定統計量の選択と算出、有意性の評価の3つの要素からなる。

23-1. 検定とは | 統計学の時間 | 統計WEB

詳しくはインターネット上にさまざまな解説があるので割愛するとして、さっそくやっていく。

まずはじめに前提となる条件を確認する。

  • 「ポケモンV」と言う用語にはポケモンVMAXは含まない 1
  • 「ムゲンゾーン」には 1Box あたりポケモンVは5枚封入されている 2
  • 「ムゲンゾーン」に収録されているポケモンVは8種類である

次に、仮説を設定していく。

  • 対立仮説: 「ムゲンゾーン」のポケモンVのカードの封入率には偏りがある
  • 帰無仮説: 「ムゲンゾーン」のポケモンVのカードの封入率には偏りがない

今回は「実際の観測値」と「帰無仮説の下における頻度の期待値(理論値)」との乖離を検定したいので、カイ二乗分布を用いた適合度検定を行う。

まず、前提条件より「7Box 開ける」=「ポケモンVを35枚サンプリングする」ことと考えられるので、標本数は  n = 35 となる。 このとき、「クロバット1が出る (観測度数: 1)」「クロバットV以外が出る (観測度数: 34)」の2つの属性について期待確率と期待度数を考えていく。

 i 属性  S_i 観測度数  ν_i 期待確率  p_i 期待度数  np_i
1 クロバットV 1 1 / 8 4.375
2 クロバットV以外 34 7 / 8 30.625

これをもとに、カイ二乗検定統計量を求める。

 \chi^{2} = \sum_{i} \frac{(ν_i − np_i)^{2}}{np_i}

(手計算は面倒なので Python でやっていく)

from scipy.stats import chisquare

# 前提条件
v_per_box = 5  # 「ムゲンゾーン」1ボックスあたりのポケモンV封入数
v_types = 8  # 「ムゲンゾーン」に収録されているポケモンVの種類数

# 事象
box = 7  # 購入したボックス数
crobat = 1  # クロバットが出た枚数

# カイ二乗検定統計量を求める
n = v_per_box * box
chisquare([crobat, n - crobat], f_exp=[n / v_types, n - (n / v_types)])

計算すると  \chi^{2} = 2.976 で、自由度1のカイ二乗分布を見てみると、今回の観測値が理論値とこの程度乖離する確率は 8.5% であることがわかる。 この確率は一般的に用いられる有意水準 5% よりも高く、帰無仮説は棄却されない。

結論として、「ポケモンVのカードの封入率には偏りがあるとは言えない」となる。

つまり?

ただ運が悪かっただけ ということです!!!

\( ‘ω’)/ウオオオオアアアーーーッ

ポケカ公式さん疑って大変申し訳ありませんでした。

物事を合理的に考えて判断するのは大切なことですね。 などとそれっぽいことを言って雑にまとめておく


  1. ポケカ公式用語としては VMAX は V の一種だが、V と VMAX はカードとしては別のレアリティであり、今回は VMAX については考える必要がないので忘れたい

  2. ポケモンVの封入率が 5枚/Box というのは例外があるかもしれないが、今回は固定ということにしておきたい

在宅勤務デッキ紹介

id:hazeblog が在宅勤務のデッキを紹介していたので、真似してみる。

hazediary.hateblo.jp

全体像

f:id:hoto17296:20200508015629j:plain

こんな感じ。

家具

以降は基本的に買ってよかったものを紹介しているけども、この机に関してはあまりおすすめできない。

棚がついているのは便利っちゃ便利だが、模様替えがしにくいし、引越しのとき解体と組み立てが面倒。

天板の奥 (?) に板がついているとディスプレイアームが付けれない。 ディスプレイアームを設置したい場合は机から選ばないといけないことがわかった。

天板の下に引き出しがついていないやつにしたのは良かった。

椅子は id:gomayumax の趣味で買ったやつだけど、かなり良い。 価格も10万超えないのでまだ手が出せる範囲。

偶然にも会社の椅子と同じなので在宅勤務していてもオフィスと同じ体験が得られている。

PC 周辺機器

ディスプレイは PC よりも長く使う (4,5 年スパンで買い換えない) ものなので良いやつを買った。

いまマトモなディスプレイを買うつもりなら「4K」「USB Type-C 対応」「PD 60W 以上」 は見たほうがいい。 実際に使ってみて本当にいいものを買ったと思う。だた、この条件を満たす製品は購入当時だとこれ一択だったが、今だともっと安い選択肢もある。

分割キーボードはいいぞ。

これに関しては別エントリに詳しく書いたのでそっちで。

blog.hotolab.net

Web カメラはけっこう高めなやつ。 カメラの横についているマイクもそれなりにいいので、リモート会議の品質がかなり改善された。

しかしまぁリモート会議するだけならもっと安いモデルでも全然よかった気はする。

オーディオ関連

TASCAM USBオーディオインターフェース US-1x2-CU

TASCAM USBオーディオインターフェース US-1x2-CU

  • 発売日: 2018/02/10
  • メディア: エレクトロニクス

(自分が持ってるのは TASCAM US-100 だが、貼ったリンクはその後継機種)

USB DAC を高めの位置に配置してそこにヘッドホンを繋いでおくと、ケーブルがあまり邪魔にならなくて便利。

ゼンハイザー モニターヘッドホン密閉型  HD 25【国内正規品】

ゼンハイザー モニターヘッドホン密閉型 HD 25【国内正規品】

  • 発売日: 2016/04/27
  • メディア: エレクトロニクス

作業用ヘッドホンは長時間つけても疲れないやつがいいが、これはまぁまぁ疲れる。(もともと DJ 用の圧が強いモデルだし・・・) それはそれとしてリケーブルしたりパッド交換できたりして面白い。

blog.hotolab.net

その他

4月から全員在宅勤務をしている弊社では「カメラオンにして全員つなぎっぱなし」みたいなことをやっているので、画面がもう一枚欲しくなる。

たまたまこれが家にあったのでディスプレイの横に iPad を配置してみたらいい感じになった。

足の置き場に困るとつい足を組んでしまいじわじわと姿勢が悪くなっていくので、足の置き場をちゃんと作ろうと思ってフットレスト買った。

沖縄への送料が高かった点以外はよかった。

部屋の電気 (シーリングライト) は部屋の真ん中に位置しているので、机を壁に向かって配置して Web カメラで映した場合に逆光になってしまう対策として USB ライトを買った。 いや、ちょっと顔が暗く映ったところで大して問題はないのだけど、なんとなくあったらいいかなと思って。

どちらかというとリモートでポケモンカードするときに便利。

おわり

手札は以上です。 対戦よろしくおねがいします。

冷蔵庫をスケールアップした

ついに沖縄でも新型コロナウィルス感染拡大に伴う緊急事態宣言が発出されて外出自粛なこのご時世なので、食料品の買い出しに出かける回数も減らした方がよい。1

我が家の冷蔵庫は一人暮らし時代から使っている 137L の小さいタイプで、たくさん買いだめしても冷蔵庫に入れることができない。というか3人家族になったのに未だに一人暮らしのときの小さい冷蔵庫を使ってるのもどうなんだという気もしてきて、デカいやつに買い換えることにした。

どうやって選んだか

何はともあれサイズである。

我が家の冷蔵庫スペースは幅 80cm 奥行 65cm までなら入りそうだったが、大きめサイズ (400L 〜) になると奥行が 70cm を超えるものが多く、選択肢はかなり絞られた。

サイズ以外で気にすべきポイントは以下を参考にした。

siromonoblog.com

冷蔵庫もコモディティ化が進んでいるようだ。サイズ以外で気にすべき点としては「野菜室の位置」くらいらしい。

いろいろ調べて日立の R-XG48K に目をつけていたが、近所のエディオンの倉庫に眠っていたのを安く買えたのでとても運が良かった。価格コムの最安値よりも4万近く安かった。そんなことあるのか。

搬入

高さ 1.8m, 重さ 100kg 超の物体をどうやって運び入れるのかと思ったが、手際良く運んでいて本当に凄かった。

途中、キッチン手前のドアのドアノブが邪魔で通れないことがわかり焦ったが、急遽ドアを外してことなきを得た。事前に搬入経路も計測したつもりだったけどドアノブのことを考慮できていなかった・・・。

そして無事設置完了。

f:id:hoto17296:20200419224106p:plain
Before → After

所感

デカすぎんだろ・・・。

容量のことは何も考えずに設置できそうな最大サイズを買ったわけだけど、137L → 475L なのでおよそ3.5倍。本当にそんな容量が必要だったかは定かではない。 ていうかどこぞのサイトに「3人家族向け」などと書いてあったけど絶対あれ嘘だな? 4,5人家族でも普通にイケそうな威圧感がある。

まぁ慣れたら案外いっぱいまで入れるのかもしれないし、大は小を兼ねるのでとにかく活用していきたい。

酒でもたくさん放り込んでおこう。

※ Amazon で売ってる R-XG48J は R-XG48K よりも1年前のモデルだが、色以外に違いはないらしい。


  1. ちなみにここ最近はネットスーパーを利用していたが、外出自粛に伴って利用者が急増したのか予約がいっぱいで配達依頼できないということが多々発生するようになって来た。)

Nintendo Switch の JoyCon をクリアパープルにした

f:id:hoto17296:20200210165628p:plain
ゲームボーイポケット (クリアパープル)

小学生のときにはじめて買ってもらったゲームハードがこれ。

これでポケモン赤を何周もしたが、あるとき車に跳ねられてどこかへ飛んでいってしまったのであった。 なつかしい。

そして20年の時を経たいま、現代の最新機種 Nintendo Switch をあの頃のクリアパープルにできるらしいと聞いたのでやってみた。

必要なもの

換装用のガワ。

Nintendo Switch 本体の背面をクリアパープルにするパーツも売っていたが、JoyCon と違って本体の分解にミスると色々と取り返しがつかないのでチキってやめた。

Y型精密ドライバー。 ゲーム機ではY型のねじが使われることが多いらしい。

あとは以下のもろもろ。

  • JoyCon 本体
  • ピンセット
  • 小さめプラスドライバー (内部はプラスねじなので)
  • 小さめマイナスドライバー (カバーをこじ開ける際にあると便利)

ドライバーとピンセットは普通に自宅にあるやつで問題なかった。

様子

思っていた以上にバラバラに分解する必要がある。

ガワだけペペッと交換して終わりかと思っていたけどそんなに簡単な話ではなかった。 あの小さいサイズながらにボタンやセンサが山のようについているので、考えてみりゃそりゃそうだ。 分解手順の YouTube 動画がなかったら確実に詰んでいた。

完成

どうですか、この厨二感。

一度くらいなんかミスると思っていたけど、なんと一発で問題なく動いた。 最悪の場合 JoyCon をもうひとつ買うくらいの覚悟はあったけど思ったより楽勝だった。

おわり

左の JoyCon が一発で動いたので「楽勝やんけ!」って右もやったらこうなった。

気をつけたほうがいい。

Nintendo Switch でも Bluetooth イヤホンが使いたい

毎晩子供を寝かしつけた後に音無しでポケモン剣盾をプレイしていたところ、同僚から「ポケモン剣盾は BGM が最高」という推しがあり気になってきた。

f:id:hoto17296:20191122111858p:plain

有線ヘッドホンは持っているが、そもそも TV モードでプレイしたいので厳しい。(コードの長さ的に)

というかせっかく最近 SONY WF-1000XM3 を買ったのでそれを使ってプレイしたい。

ゲームハードと遅延

調べると、Nintendo Switch は Bluetooth オーディオに対応していないらしい。 ついでに言うと PS4 も対応していないらしい。

音ゲーや格ゲーなどのゲームでは音の遅延があるとプレイに支障をきたすので、こういうゲームハードでは簡単には Bluetooth オーディオはサポートできないんだろうなぁ、と推測される。

しかし今プレイしているのはポケモン剣盾なのであって、音がコンマ数秒遅延したところでどうということはない。 Bluetooth イヤホンが使いたい。

先に結論

これを買ったら良かった。

選択肢

Nintendo Switch で Bluetooth イヤホンを使うためのデバイスとしては、大まかに3種類あるっぽいことがわかった。

USB Type-C に挿すタイプ

ググるとまず出てくるのがこういうの。

TV モードで使えないと思って検討していなかったが、後になって「USB Type-C → USB Type-A アダプタがあれば TV モードでも使える」ということを知ったのでこれを買っても良かったかもしれない。

携帯モードがメインの人はこれが一番良さそう。

USB Type-A に挿すタイプ

安い USB Type-A 型の汎用 Bluetooth レシーバはたくさんあるが、Nintendo Switch で動作しない可能性が高い。(誰か試して欲しい)

しかしこの CREATIVE のアダプタは「汎用 Bluetooth レシーバ」ではなく「USB オーディオデバイス」として認識されるので、Nintendo Switch でも利用できる。

多分、USB Type-A ポートに挿すタイプだと選択肢がこれしかない。 しかし価格が約 4,000 円とそこそこいく上に TV モードでしか使えないので個人的には微妙。 aptX LL に対応していて低遅延らしいので、aptX LL 対応のヘッドホン/イヤホンを持っている人には良いかもしれない。

オーディオジャックに挿すタイプ

シンプルにオーディオジャックに挿して出力を Bluetooth で飛ばすというタイプ。

USB と違って電源供給されないので充電が必要というデメリットはあるが、TV モードでも携帯モードでも使えるというのは良い。 価格も約 2,000 円と比較的安かったので、最終的にはこれを買ってみた。

使ってみた感じでは、遅延はポケモンをやる分には一切気にならないレベルだった。

まとめ

TV モード (Dock) テーブルモード 携帯モード
USB Type-C タイプ
USB Type-A アダプタが必要
×
挿すと置けなくなるのでは?
USB Type-A タイプ × ×
オーディオジャックタイプ
ブラブラして邪魔

今回の「TV モードでポケモンをやる」という用途だとオーディオジャックタイプを買って良かったと思う。

ドアに iPhone をかざすと鍵が開くようにした

f:id:hoto17296:20191001222903j:plain

iOS 13.1 の新機能「オートメーション」と NFC タグによるトリガーが面白そうだったので、これを使って自宅ドアに iPhone をかざしたら鍵が開く仕組みを作ってみた。

仕組み

  1. ドアに貼った NFC タグ (Suica) に iPhone をかざす
  2. (事前に設定した) オートメーションが実行される
  3. SESAME の API が叩かれる
  4. 鍵が開く

必要なもの

  • SESAME
    • Wi-Fi ドングルでインターネットに接続済みである必要がある
  • NFC タグ
    • 使っていない Suica があったのでそれを使った
  • 新しめの iPhone
    • iPhone 8 以前だと NFC タグが読めないので NG
    • iPhone X だとバックグラウンド読み取りができないので今回の用途では使えないので NG
    • iPhone XS, XR 以降であれば OK

SESAME API で鍵を開けられるようにするまでの設定

1. SESAME アプリからクラウド連携を有効にする

f:id:hoto17296:20191001224546p:plain

2. API トークンを発行する

https://my.candyhouse.co/ にログインして API トークンを発行する

3. 対象の SESAME のデバイス ID を取得する

YOUR_AUTH_TOKEN には先ほど発行した API トークンを入れる。

$ curl -H "Authorization: YOUR_AUTH_TOKEN" https://api.candyhouse.co/public/sesames
[
  {
    "device_id": "00000000-0000-0000-0000-000000000000",
    "serial": "ABC1234567"
    "nickname": "Front door",
  }
]

オートメーションの設定

「ショートカット」アプリで新規オートメーションを作成する。

「日時」(トリガー) には「NFC」を指定して、割り当てる NFC タグを読み込ませて名前をつける。

f:id:hoto17296:20191001213537p:plainf:id:hoto17296:20191001213543p:plain

「アクション」には「Web」>「URL の内容を取得」で以下のように設定する。

URL 末尾の部分にはデバイス ID を、Authorization ヘッダには API トークンを指定する。

これで設定完了。

あとはドアの外側に NFC タグ (Suica) を貼って iPhone をかざせば鍵が開く。

所感

  • めちゃくちゃ簡単にできて良かった
    • オートメーション内で API リクエストの詳細まで設定できるので AWS Lambda などを介す必要がなくて便利
  • めちゃ遅い、開くまでに10秒以上かかるときもある
    • Web API を介している以上はどうしようもない感
    • 物理的に近くにあるので Bluetooth で直接 SESAME を操作したい...
  • ドアの外側に Suica 貼るのダサい、というか怪しい
    • Suica ではなく市販の小さい NFC タグを買った方がよさそう
    • 当初はドアの内側に貼ればいけるんじゃないかと思っていたが、1cm くらいまで近づけないと反応してくれないのでドア越しだと無理だった
  • NFC タグ + オートメーション 面白い
    • NFC タグをトリガーにしてアクションを実行するというのは IFTTT や Zapier などの類似アプリでは出来なかったこと (多分) なので、iOS のオートメーションには新たな可能性を感じる
    • オートメーションのアクション設定も色々触ってみたけど、まず Web API が叩ける時点で自前で API を作れば何でもできるし、そこまでしなくても Pytonista で Python コードが実行できるのでカジュアルに色々なことができそう

追記: NFC タグにキラシールは貼らない方がいい

沖縄に DiDi が来たので使った

DiDi が沖縄でサービスを開始した。 使ったら便利だったので感想を書く。

DiDi は中国の滴滴出行が運営するライドシェア/タクシー配車アプリ。Uber や JapanTaxi と似たようなやつ。世界的には Uber に次いで2番目くらいに有名なのでは? (イメージ)

その DiDi が今週、沖縄でもサービスを開始した。

DiDiモビリティジャパン、 沖縄エリアにてタクシー配車プラットフォームを提供開始 | DiDiモビリティジャパン株式会社

「Uber 沖縄に来ねぇなー」とか言ってたらまさかの DiDi が先に来た。Uber はなにをやっているのか。

いうても Uber や JapanTaxi と得られる体験は同じなので、そういうの使ったことある人にとっては当たり前の話だろうけど、ひとまず以下感想。

いいところ

  • (サービス開始直後なので) クーポンたくさん配ってて安い
  • 目的地まで案内しなくていい
    • アプリ上の地図で目的地を指定する
  • 到着したら支払いせずにすぐ降りれる
    • アカウントに登録したクレカもしくは PayPay で勝手に支払われる
  • 乗ったログが残る
    • 後からでも領収書が出せる
  • 適切な乗車場所をレコメンドしてくれてわかりやすい
    • 那覇空港から乗ろうとしたら「那覇空港の予約タクシー乗り場はここ」って表示された
  • 那覇市街じゃなくても割といる
    • 自宅 (宜野湾市) 周辺でも何台かいたのでカジュアルに呼べそう
  • 運転手情報がわかる
    • 乗車後にフィードバックできるので、運転手の信頼しやすさという意味では普通のタクシーより良い

よくないところ

  • 那覇空港から乗る場合は DiDi 呼ぶよりタクシー乗り場に行った方がすぐ乗れる
    • そりゃそうだ、配車とか無いし
  • クーポンの有効期限がめちゃ短い
    • 今だと初回登録時に 1,000円クーポン x 3 が貰えるが、有効期限がそれぞれ 2週間, 3週間, 4週間 くらい
  • クーポンを使わないと普通のタクシーより高い? (不明)
    • 割引前の料金をみても普通のタクシーと大差ない気はしたが、那覇空港ですぐ近くにいたので配車料金がなかったのかもしれない?

まとめ (?)

普通に便利だったし、何より選択肢が増えたのは良い。

なぜ回し者かのようにこんな記事を書いたかというと、便利なサービスはちゃんと流行って欲しいから。有り体に言えば「利用者が少ないので撤退します」となったら自分が困るから。便利なサービスはちゃんと使って広めるべきと思う。

Uber Eats みたいなサービスも沖縄きてほしいなーーー