バーゼリヤ藤崎

学生の頃、社会人の方から「仕事楽しいよ、やりがいがあって良いよ」と言われましたが、嘘だと気づきました。。。

ひなこい無料150連で星4をゲットできる確率とは?【Python】

みなさん、こんばんは藤崎です。

 

『ひなこい』というアプリをご存じでしょうか。

 

日向坂46グループ単独では初となるゲームアプリが遂に登場!
『あなたは、日向坂46メンバーの誰と初恋しますか?』


⊿あらすじ
東京から片道2時間
日向坂高等学校に転校してきたあなた。
バス停でのおしゃべり
自転車で駆け上がった坂道
部活帰りのラムネの味。
そして––
「キミが好き。大好き!!」
2人っきりのあぜ道、汗ばむような日差しの下で、
全力で夢を見て、全力で恋をした––––!
これは日向坂46とあなたの恋の物語

↓公式サイト

hinakoi.jp

 

高校生にタイムスリップし、主人公として日向坂メンバーとの恋愛を楽しめるスマホアプリゲームとなっています。

 

また、日向坂メンバーのボイスはもちろん、イベントによっては動画もありますので、おひさまにとっては非常に楽しめる内容となっています。

 

~~~~~~

 

現在、無料150連というイベントが実施されています。

 

 

今回150連をした場合、何枚星4(最高レアリティ)がゲットできるのか、その確率が幾つとなるのか気になりました。

 

そこで、二項分布にあてはめて確率を求めてみようと思います。

 

二項分布

\begin{eqnarray*} P(X=k)= {}_{n} \mathrm{C}_{k} p^{k} (1-p)^{n-k} & (k=0,1,2,\cdots,n) \\ \end{eqnarray*}

 

【星4が当たる確率】

2.5%

【試行回数】

150回

 

上記条件をもとに、二項分布にあてはめてみます。

\begin{eqnarray*} P(X=k)= {}_{150} \mathrm{C}_{k} 0.25^{k} (0.75)^{150-k} & (k=0,1,2,\cdots,20) \\ \end{eqnarray*}

※k:星4をゲットできる件数は20までとします。

 

また、計算が複雑なためPythonにてプログラミングを書き実行してみようと思います。

↓サンプルコード


import numpy as np
from scipy.stats import binom
import matplotlib.pyplot as plt

# 1回あたり星4が当たる確率
p = 2.5 / 100

# 当たる件数
x = np.arange(0, 20)

# 100回引いてx回星4がゲットできる確率を二項分布で計算する
p1 = binom.pmf(x, 150, p)

# FigureとAxes
# 描画領域全体
fig = plt.figure()
ax = fig.add_subplot()
ax.grid()
ax.set_title("ひなこい 無料150連", fontname="MS Gothic", fontsize=18, pad=8)
ax.set_xlim(0, 20)
ax.set_ylim(0, 0.225)
ax.set_xlabel("星4をゲットできる件数", fontname="MS Gothic", fontsize = 15, labelpad=8)
ax.set_ylabel("確率", fontname="MS Gothic", fontsize = 15, labelpad=8)

# データをプロット
ax.plot(x, p1, marker="o", color="blue")

# 図を表示する
plt.xticks(np.arange(min(x), max(x)+1, 1.0))
plt.show()

 

 

実行した結果以下のような図に表すことが出来ました。

 

縦軸が確率、横軸に星4をゲットできる件数を表しています。

こうやって見ると、星4が3、4枚当たる確率が高いようですね。

 

期待値を計算しても3.75ですので、予想通りの結果となっています。

期待値 = (試行回数)*(星4が当たる確率)= 3.75

 

人によっては、150連回しても星4が1枚も当たらない人と8枚当たる人が同等の確率であることも分かります。

 

~~~~~~

 

いかがだったでしょうか。

人によっては何枚も当たっている人もいますが、それは稀なケースということが分かりました。

 

「150連して星4が3、4枚あたればいいな」という気持ちで回すのが精神的に良いかもしれないです。

 

別記事では宝くじで億万長者になる確率を求めていたりしますので、よかったら是非!

vazeriya-fujisaki.hatenablog.com

 

 

都道府県別に甲子園の優勝校をマッピングしてみた【Python】

みなさん、こんばんは藤崎です。

 

今年も夏の甲子園(第104回全国高等学校野球選手権大会)盛り上がっていますね。

準決勝が終わり、決勝戦のカードが決まりましたね。

 

仙台育英宮城県) - 下関国際(山口県

 

仙台育英が勝利となると、東北勢としては悲願の初優勝となります。

下関国際が勝利となると、山口県勢として64年ぶりの優勝となります。

 

どちらも初優勝をかけて22日の決勝に向かいます。

 

~~~~~~

 

よく甲子園関連のニュースを見ていると、『東北勢初優勝なるか』といった記事をよく見かけます。

 

気になったので、Pythonでプログラミングを書き、

都道府県別に甲子園の優勝校をマッピングしてみようと思います。

 

↓大学が総務省が無料でPythonの講義を公開しているので、興味ある方は是非!

vazeriya-fujisaki.hatenablog.com

 

japanmapという日本地図表示ライブラリを用いることで、気軽に日本地図を表示させることが出来ます。

 

Pythonコード


import matplotlib.pyplot as plt
from japanmap import picture

plt.imshow(picture())

plt.rcParams['figure.figsize'] = (10, 10)
plt.imshow(picture())
plt.show()

実行すると以下のような日本地図を表示させることが出来ます。

 

これを応用して、都道府県別の甲子園優勝校を色付けしてみようと思います。

 

~~~~~~

 

【使用データ】

全国都道府県別優勝回数ランキング(夏)|高校野球|朝日・日刊スポーツ

 

【色付け基準】

赤色:優勝回数 10回以上

水色:優勝回数 5~9回

緑色:優勝回数1~4回

 

~~~~~~

 

上記基準で日本地図に色付けしていきます。

結果は以下の通りになりました。

 

 

色付けすることで、どこの地域で優勝が多いのかなど視覚的に見れるのでわかりやすいですね!

 

東北地方が色付けされておらず、東北勢にとっては悲願の初優勝を見たいでしょう。

 

また、最多優勝回数は大阪府で14回優勝しています。

 

春夏連覇の期待がかかっていた大阪桐蔭高校や、履正社高校、かつはPL学園など数々の名選手を輩出した高校が多いのも特徴ですね。

 

また、甲子園がある兵庫県でも優勝回数が多く、地元の声援も影響しているのかと思いました。

 

優勝していない都道府県もありますし、その出身の方にとっては悲願の初優勝を見たいものですね。

 

~~~~~~

 

いかかだったでしょうか。

 

日本地図に色付けすることで、どの都道府県が多く優勝しているのか視覚的に見ることが出来ました。

 

夏優勝候補の大阪桐蔭に勝利した、山口県代表の下関国際高校

東北勢にとって悲願の初優勝が期待される、宮城県代表の仙台育英高校

 

どのような試合展開になるのか、そして、どちらが優勝となるのか

22日の甲子園決勝が楽しみですね。

 

 

プロ野球に関しての記事も書いているので良かったら是非!

vazeriya-fujisaki.hatenablog.com

 

 

 

 

Pythonの無料講座を紹介【Python】

みなさん、こんばんは藤崎です。

 

1.はじめに

Pythonというプログラミング言語をご存じでしょうか。

 

Python は強力で、学びやすいプログラミング言語です。効率的な高レベルデータ構造と、シンプルで効果的なオブジェクト指向プログラミング機構を備えています。 Python は、洗練された文法・動的なデータ型付け・インタープリタであることなどから、スクリプティングや高速アプリケーション開発(Rapid Application Development: RAD)に理想的なプログラミング言語となっています。

 

The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms from the Python web site, https://www.python.org/, and may be freely distributed. The same site also contains distributions of and pointers to many free third party Python modules, programs and tools, and additional documentation.

出典:https://docs.python.org/ja/3/tutorial/

 

今話題のAI、機械学習はもちろんのこと、データ分析や統計解析といったマーケティング分野にも大いに力を発揮します。

 

また、システム開発に対応しているため簡単なWebアプリを作成することもできます。

 

2.インストール方法

下記公式サイトよりPythonをインストールすることができます。

 

www.python.org

 

インストール後はコマンドプロンプトを開き下記コマンドを実行しましょう。

正しくインストールができていれば下記のように表示されます。

 

py --version
Python 3.10.5

 

3.Pythonの開発環境をインストール

開発環境とは、プログラミングを書いたり、動かすためには必要なツールになります。

有名なのが「Visual Studio Code」がありますので、各自のPCへインストールしましょう。

 

azure.microsoft.com

 

これで準備は完了となります。

 

4.Python無料講座

どうやってPythonについて勉強すればいいのか戸惑うと思います。

 

YouTubeInstagramを見てるときに流れてくるプログラミング講座に応募しないといけないのかな…

 

本屋に行ってPythonのことが書かれている書籍を購入しないといけないのかな…

お金かけるの嫌だな…

 

みなさんのお気持ち分かります。

そんな人に伝えたいのはPythonを無料で学ぶことが出来るということです。

 

無料で学べるサイトをご紹介します。

 

東京大学Pythonプログラミング入門

utokyo-ipp.github.io

 

開発ツールのインストール方法から紹介されているのが嬉しいですね。

ここではColaboratoryのインストール方法が紹介されています。

 

Pythonでの四則演算やリスト、条件分岐など丁寧にまとめられていますので基礎項目をすべて学べます。

 

京都大学Pythonプログラミング入門

repository.kulib.kyoto-u.ac.jp

 

Pythonの勉強の前に、そもそも『コンピュータ』って何なのかから丁寧に説明されています。

 

普段何気なくコンピュータを使用していますが、これを読むことで裏でどのような仕組みで動いているのか学べるのがいいですね。

 

また、京都に関連して説明されているので京都出身の方やよく旅行に行かれる方などは楽しく学べるのではないでしょうか。

 

演習問題も豊富にありますので、初学者の方以外が読んでも学びが多いと思います。

 

①②ともに

下手にPythonのプログラミング講座を受けたり、本を買うより上記サイトで学ぶほうが良いと思います。

 

総務省統計局 統計学習の指導のために

https://www.stat.go.jp/teacher/comp-learn-04.html

 

機械学習やAIって何なのか、丁寧に紹介されています。

 

この内容が無料で公開されているのは驚きですし、私が本屋でいくつか書籍を見ましたが上記サイトより分かりやすいのを見たことがないです。

 

また、サイト内で紹介されているデータが無料でダウンロードできるので、自分の開発環境で実行できるのがいいですね。

 

5.終わりに

いかがだったでしょうか。

 

今回ご紹介したのはどれも無料で学べるものです。

しかも、どれも途中で広告が挟まないのでストレスなく学べると思います。

 

自分も最近Pythonを学び始めました。

 

この記事をきっかけにPythonを学ぶ人が増えたらいいなと思います。

 

 

 

はてなブログで数式を使うには?【お役立ち】

みなさん、こんばんは藤崎です。

 

1.はじめに

ブログを書いていて次のように思ったことはないでしょうか?

 

下記ブログのように数式を記載して表現したいことがあると思います。

 

vazeriya-fujisaki.hatenablog.com

 

ポアソン分布

\begin{eqnarray*} P(X=k)= \displaystyle\frac{e^{-\lambda} \lambda^{k}}{k!}  (k=0,1,2, \cdots ) \\ \end{eqnarray*}

 

一つの方法として、MicrosoftWordなどで記載した内容をスクショし、ブログに張り付ける方法です。

 

これだと

①MicrosoftWordなどで数式を記載

スクリーンショットをとる

③ブログ内に写真を張り付ける

といった工程になり、とても手間がかかります。

 

2.MathJaxの紹介

そんな悩みを解決するのが、Mathjaxです。

MathJax はウェブページの製作者がページに数式を埋め込めるようにする JavaScript ライブラリ
です。閲覧者側では数式を閲覧するのに何も必要としません。
ブラウザー: MathJax は、Edge、FirefoxChromeSafariOpera、ほとんどのモバイルブラウ
ザーを含む、すべてのモダンブラウザーで動作します。
(MathJax ヘルプより) 

 

下記公式サイトより、掛け算、割り算などの四則演算はもちろんのこと、分数など様々な数式にも対応しています。

 

https://www.eng.niigata-u.ac.jp/~nomoto/download/mathjax.pdf

 

3.はてなブログに適用させるには

編集画面より、HTML編集を開き下記記述を一番下に追記します。

 

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    tex2jax: {
      inlineMath: [['$','$'], ['\\(','\\)']],
      displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
    }
  });
</script>
<script type="text/javascript" async="" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
</p>
<!-- Mathjaxを使うための設定 -->

 

これで設定完了です!

 

さっそく書いてみます!

分数

\frac{1}{2}

\begin{eqnarray*}\frac{1}{2} \\ \end{eqnarray*}

 

ルート

\sqrt{x}

\begin{eqnarray*}\sqrt{x} \\ \end{eqnarray*}

 

積分

\int_1^2 x^2 dx

>

\begin{eqnarray*}\int_1^2 x^2 dx\\\end{eqnarray*}

 

色々と試せるのが楽しいですね。

 

 

 

 

横浜DeNAベイスターズが本拠地12連勝する確率は「アイドルと付き合える確率」と同じ??【統計】

みなさん、こんばんは藤崎です。

 

横浜DeNAベイスターズというプロ野球球団をご存じでしょうか。

 

公式Twitterからの案内にもある通り、横浜DeNAベイスターズが本拠地横浜スタジアムでの試合にて12連勝を飾りました。

 

 

暗黒時代からすると考えられないぐらい連勝を重ねています。

 

出典:https://sports-sokuhou.com/

 

シーズン序盤は助っ人外国人の不在などの影響もあって、負けが立て込み借金生活をしていましたが、今では貯金もあり、首位ヤクルトスワローズを追いかける展開となっています。

 

さて、今回は12連勝することが以下に凄いのか確率で求めて生きたいと思います。

 

事象として、「勝利」「負け」の二択しかないためベルヌーイ試行となります。

そのため、二項分布にあてはめて12試合して12連勝する確率を求めていきます。

 

※「勝利」「負け」の確率はともに0.5とする。本件では戦力、戦略などは考慮しないものとする。

 

二項分布

\begin{eqnarray*} P(X=k)= {}_{n} \mathrm{C}_{k} p^{k} (1-p)^{n-k} & (k=0,1,2,\cdots,n) \\ \end{eqnarray*}

 

\begin{eqnarray*} P(X=12)= {}_{12} \mathrm{C}_{12} 0.5^{12} 0.5^{12-12} =0.0002441 \\ \end{eqnarray*}

 

12連勝をする確率は0.0244%となります。

 

これはアイドルと付き合える確率と同等になります。

 

 

引用元:AbemaTV

 

野球を知らない人に「DeNAが本拠地12連勝したらしいけど、どのくらい凄いの」と聞かれたら、「アイドルと付き合える確率と同じくらい凄いよ!!」と答えましょう。

 

~~~~~~

 

いかかだったでしょうか。

 

世の中で起こっている事象を数学的に、統計学の観点から確率を求められるのは面白いですね!

 

 

別記事では様々な事象の確率を求めているので、こちらも良かったら是非!

vazeriya-fujisaki.hatenablog.com

 

vazeriya-fujisaki.hatenablog.com

 

 

 

宝くじを100万円購入して億万長者になる確率とは?【統計】『ポアソン分布』

みなさん、こんばんは藤崎です。

 

1.はじめに

みなさん、宝くじを購入されたことはありますか?

 

誰しもが億万長者になることを期待して購入されたことがあるのではないのでしょうか。

 

私も購入したことがありますが、当然のように外れてしまいました。。。

 

宝くじを買って1億円当たるような人もいるようですが、どのくらいの確率なのか気になりました。

 

2.高額当選(1億円以上)確率とは

宝くじの高額当選(1億円以上)の割合は、公式からの案内により以下のように求められます。

(かなり低いのが分かると思います。。。)

 

\begin{eqnarray*}高額当選確率=\frac{1等+2等}{3等+4等+5等+6等+7等+外れ^{※1}} \\ \end{eqnarray*}

\begin{eqnarray*}=\frac{66}{489,769,346}=1.34757310842398\times10^{-7} \\ \end{eqnarray*}

 

宝くじ公式サイト*1

※1外れくじは7等の10倍あると仮定する

 

3.求める確率

HIKAKINさんが年末ジャンボ宝くじ約100万円購入された動画を上げられています。

今回はHIKAKINさんが高額当選(1億円以上)していた確率を求めてみようと思います。

 

さすがトップYouTuberですね。私も実際にやってみたいですが、貯金がなくなるので宇やめときます。。。

 


www.youtube.com

 

4.計算

今回は宝くじの購入本数が3,333本※2と大きく、また高額当選確率が非常に小さいためポアソン分布に従うと仮定します。

 

※2:宝くじは300円/本とする。100万円/300円=3,333.33…のため3,333本とする

 

ポアソン分布

\begin{eqnarray*} P(X=k)= \displaystyle\frac{e^{-\lambda} \lambda^{k}}{k!} & (k=0,1,2, \cdots ) \\ \end{eqnarray*}

 

k = 高額当選数

e = ネイピア数

購入本数(試行回数)n= 3,333

期待値λ= 購入本数×高額当選確率=0.0004491461170377127

 

今回は億万長者になる確率を求めたいため、少なくとも高額当選数が1回起こる確率を求めます。

 

そのため、高額当選数が0回の場合から1を引くことで高額当選数が少なくとも1回以上である確率を求められます。

 

また、ポアソン分布にあてはめて計算していますが、手計算では困難なためpythonでプログラムを組み計算しました。

 

計算式

高額当選数が0回の確率

\begin{eqnarray*} P(X=0)= \displaystyle \frac{e^{-0.0004491461170377127} \times 0.0004491461170377127^{0}}{0!}=0.99955095473398 \\ \end{eqnarray*}

 

高額当選数が1回以上の確率

\begin{eqnarray*}1-0.99955095473398= 0.0004490452660199651 \\ \end{eqnarray*}

 

上記計算結果より、年末ジャンボ宝くじを100万購入して億万長者になる確率は0.0449%となります。

 

これは「アイドルと付き合える確率と」比べると高いですが、値が小さいためほぼ同等な確率ですね。

 

(引用元:AbemaTV)

 

 

最後に

宝くじを購入して億万長者になるのは夢のまた夢であるという現実を知りました。

もう少し期待値が高くてもいいのになと個人的に思いました。

 

また、今回はポアソン分布に従うと仮定して計算しましたが、二項分布に当てはめた場合の確率を求めて比較し、いくら数値差異が生じるのか見てもいいなと思いました。

 

また、計算に誤りがありましたらご指摘頂けると幸いです。

 

 

参考文献

https://bellcurve.jp/statistics/course/6984.html

「ジャンピングジョーカーフラッシュ」をテキストマイニングしてみた【乃木坂46】

みなさん、こんばんは藤崎です。

 

本日正午に乃木坂46 30thシングルに収録される4期生楽曲「ジャンピングジョーカーフラッシュ」のMVが公開されましたね。

 


www.youtube.com

 

センターには筒井あやめさん、フロントメンバーには佐藤璃果さん、林瑠奈、賀喜遥香さん、遠藤さくらさんが勤めるフォーメーションとなっています。

 

佐藤璃果さんは最近「らじらーサンデー」にて偶数週のMCに就任されていたりと活躍が目まぐるしいですね。

 

メンバーが泡まみれ、水まみれと夏らしいMVとなっています。

みんなの楽しそうな表情満載で、何度見ても飽きないですね。

 

メッセージ性の強い歌詞になっていたり、踊りも可愛かったりとライブで盛り上がる1曲となりそうです。

 

また、以前「バンドエイド剝がすような別れ方」の歌詞分析したように、今回もテキストマイニングをしてみようと思います。

 

 

vazeriya-fujisaki.hatenablog.com

 

~~~~~~

 

【分析データ】

ジャンピングジョーカーフラッシュ

 

【分析手法】

形態要素解析によるテキストマイニング

『品詞』に注目してみます。

 

プログラミング言語

Python

 

【形態要素解析ツール】

MeCab

 

~~~~~~

 

結果は以下のようになりました。

 

 

「世界」「理屈」「愛」などメッセージ性の強い歌詞であるように考えられます。

 

また、「ジャン」が多く使用されていていることから、ポップな印象もありライブで森がるような楽曲になりそうです。

 

夏楽曲ではありますが、5期生楽曲「バンドエイド剝がすような別れ方」とは我々に伝えたいことが異なることが分かりました。