ただのメモ

他の人に見せても良い方のメモ

行動分析

人の行動を分析するのに、数学が使えそう

  • モデルの説明
    • oは最初の状態。徐々にnsに移行する。
    • nsは次の状態。徐々にsに移行する。
    • sは次の次の状態。徐々にmに移行する。
    • mは最後の状態。
  • こういった段階的に何かが起きるモデルは自然界に沢山ある。
  • 何日、ハンバーガーを食べずに済むか、というモデルと見なせる
  • この、ハンバーガー、を別の事に入れ換えれば、何かしらの依存症のモデルとして使える。
#%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import math

T=30;
###initial condition###
o_temp=1
ns_temp=0
s_temp=0;m_temp=0
alpha=0.3
beta=0.5
gamma=0.4
o=[0]*T
ns=[0]*T
s=[0]*T
m=[0]*T
o[0]=o_temp
ns[0]=ns_temp
s[0]=s_temp
m[0]=m_temp

for t in range(T-1):
    o_temp2=(1 - alpha) * o_temp 
    ns_temp2=alpha*o_temp+ (1 - beta) *ns_temp
    s_temp2=beta * ns_temp + (1 - gamma) * s_temp
    m_temp2=gamma*s_temp+ m_temp
    o[t+1]=o_temp2;ns[t+1]=ns_temp2;s[t+1]=s_temp2
    m[t+1]=m_temp2
    o_temp=o_temp2;ns_temp=ns_temp2;s_temp=s_temp2
    m_temp=m_temp2
import matplotlib.pyplot as plt
# プロット範囲のxを用意
time=[for k in range(T)]
# xに対応するyの値を用意
plt.plot(time,o,"r-..")
plt.plot(time,ns,"g-.")
plt.plot(time,s,"b--")
plt.plot(time,m,"purple")
plt.xlabel("Time")
plt.ylabel("Probability")
plt.title("Behavior Analysis")
# plt.show()で画面に表示
plt.show()

 

f:id:medical-science:20220311020727p:plain

では、こういった依存症のなりやすさ、を決めるものは何か。

因子として、今回は、 \alpha, \beta, \gammaの3つのパラメータが出てきた。

これを動かして、どんな挙動が見てみると共に、それらの変数の意味を考える

  • αは、忘れやすさ
    • 0.1にすると、
    • f:id:medical-science:20220311023207p:plain
  • βは、感化されやすさ
    • 0.3にすると、
    • f:id:medical-science:20220311023251p:plain

  • γは、我慢出来無さ
    • 0.2にすると、
    • f:id:medical-science:20220311023344p:plain

  • 結局、同じだけ変化させる(0.2引く)なら、αが一番予後が良い
    • 忘れないでおく、ということが大事
    • 反省文を書けば良いのか???教育???

バイバイ!