ð é£è²»ãå®¶èšãã®ã¿èŸŒãïŒç©äŸ¡ã»è³éã»ãšã³ã²ã«ä¿æ°ã§èªã¿è§£ã
ã¿ãªãããçµ±èšã»ããŒã¿åæã§æ¥åžžãæããŠã¿ãŸãããïŒ
ã€ã³ãã
æ¥åžžãšçµ±èšãçµã¶ çµ±èšå°è©±ã·ãªãŒãº ã®ç¬¬ïŒè©±ã¯ æ®ãããšç©äŸ¡ ã§ãã
æè¿ã®ç©äŸ¡äžæããçæŽ»ã®ããšããåãæ»ããããã®ã§ãâŠ
ãããã¯
1. æ®ããã®äœæ
ããŸãé«ããªã£ãŠãâŠã
ã¹ãŒããŒã§ã®è²·ãç©ã¯ãããæ°å¹Žã§èª°ããããæããããã«ãªããŸããã
ã§ã絊æã¯ãã®å®æã»ã©å¢ããŠããªãã
ãã®ãºã¬ããæ®ããã«ãããã®èæ¯ã«ãªã£ãŠããã®ãããããŸããã
ððð
2. ç©äŸ¡ã®é·æãã¬ã³ã
ç·åçãæ¶è²»è
ç©äŸ¡ææ°ããèŠããšã2000å¹Žä»£ã¯æšªã°ããç¶ããŸããã
ããã2010幎代åŸåããç·åææ°ãããããäžãããçŽè¿ã§ã¯é£æCPIãç·åã倧ããäžåã£ãŠäžæããŠããŸãã
ð ã飿ãã®æ¥æ¿ãªç©äŸ¡äžæããæ®ããã«ããã«çŽæããŠããããã§ãã

ððð
3. åç®è³éã¯äžãã£ãŠããå®è³ªã¯äŒžã³ãªã
åçåŽåçãæ¯æå€åŽçµ±èšèª¿æ»ãã«ãããšãåç®è³éææ°ã¯ç·©ããã«äžæããŠããŸãã
ãããç©äŸ¡ã®äŒžã³ãå·®ãåŒãã å®è³ªè³éææ°ã¯äœäžãšæšªã°ã ãç¶ç¶ããŠããŸãã
ð ã°ã©ãã«CPIãéãããšããåç®ã¯äžæãå®è³ªã¯åæ»ããšããä¹é¢ãäžç®ã§åãããŸãã
æ®ããã®å®æãšè³äžãã®æ°åãåã¿åããªãçç±ã§ãã

ððð
4. ãšã³ã²ã«ä¿æ°ãåã³äžæ
å®¶èšèª¿æ»ããç®åºãããšã³ã²ã«ä¿æ°ïŒé£è²»ã®å²åïŒã¯ã2000幎代ã«ãã£ããäžãã£ãåŸã2010幎代以éã«åã³äžæããŠããŸãã
飿CPIãéãããšãé£è²»å²åã®äžæãšé£æäŸ¡æ Œã®é«ãŸãã䞊è¡ããŠé²ãã§ããããšãèŠããŸãã
ð è±ããã®åžžèãé転ãããããšã³ã²ã«ä¿æ°ã®åäžæãããããŒã¿ã§è£ä»ããããŠããŸãã

çµ±èšçãªææšã§æ·±æã
ããã«ããšã³ã²ã«ä¿æ°ãã飿CPIããšãå®è³ªè³éææ°ãã§èª¬æããååž°åæãè¡ããŸããã
飿CPIãé«ãã»ã©ãšã³ã²ã«ä¿æ°ã¯äžæïŒååž°ä¿æ° = 0.16ïŒ
å®è³ªè³éææ°ãé«ãã»ã©ãšã³ã²ã«ä¿æ°ã¯äœäžïŒååž°ä¿æ° = -0.09ïŒ
ãšããçŽæçãªé¢ä¿ãçµ±èšçã«ãææã«ç¢ºèªãããŸããã
ð å¯èŠåã®å°è±¡ããæ°å€ã®åæã§ãè£ã¥ãããããšèšããã§ãããã
ððð
5. åœéæ¯èŒã§èŠããæ¥æ¬ã®ç¹ç°æ§
OECDã®äž»èŠ7ã«åœïŒæ¥æ¬ã»ç±³åœã»ãã€ãã»è±åœã»ãã©ã³ã¹ã»ã€ã¿ãªã¢ã»ã«ããïŒãæ¯ã¹ããšâŠ
å€ãã®åœã§ã¯é£è²»ã·ã§ã¢ã暪ã°ããäœäžã
æ¥æ¬ã ããäžæããçŽè¿ã¯ã€ã¿ãªã¢ãäžåã£ãŠããã ã«ãªã£ãŠããŸãã
ð ãé£è²»ãå¢ããåœïŒæ¥æ¬ããšããç°è³ªãªæ§å³ãæµ®ã圫ãã§ãã

ððð
6. ãã¥ãŒã¹ãšã®é¢é£
ãã¥ãŒã¹ã§ã¯ãé£åã¡ãŒã«ãŒã®å€äžããããå®è³ªè³éã®ãã€ãã¹ããç¹°ãè¿ãå ±ããããŠããŸãã
äžæ¹ã§æ¿åºã¯ãè³äžãä¿é²çšå¶ãããç©äŸ¡é«å¯Ÿçãã§å®¶èšãæ¯æŽããããšããŠããŸãã
ð çµ±èšãšãã¥ãŒã¹ãéãããšããæ®ããã«ãããã®å®æã¯å¶ç¶ã§ã¯ãªããæ°åã§è£ã¥ããããŠããããšãåãããŸãã
ððð
7. çµè«ãšäœçœ
飿ã®ç©äŸ¡äžæãå®¶èšãçŽæããŠãã
åç®è³éã¯äŒžã³ãŠãå®è³ªã¯äŒžã³ãªã
ãã®çµæããšã³ã²ã«ä¿æ°ãéè»¢äžæ
åœéæ¯èŒã§ãæ¥æ¬ã ããç°è³ªã«ãé£è²»ãéãåœã
å€é£ã®é£åã§ãæè¿ãªãã§ãããªã«é£è²»ãããããã ããïŒããšæãããããã®èšäºã®ã°ã©ããæãåºããŠã¿ãŠãã ããð
ððð
æ å ±æº
ç·åççµ±èšå±ïŒæ¶è²»è ç©äŸ¡ææ°ïŒå¹Žå¹³åãäžåé¡ïŒ2025幎7æèª¿æ»
åçåŽåçïŒ
ç·åççµ±èšå±ïŒå®¶èšèª¿æ» é·ææç³»åïŒäºäººä»¥äžã®äžåž¯ïŒ2025幎7æèª¿æ»
OECDïŒHousehold final consumption expenditure by purpose (COICOP)
ïŒ2025幎9æ8æ¥ååŸïŒ
ððð
èæ³šïŒæè¡è£è¶³ïŒ
ååž°çµæã«ã¯ã説æå€æ°ã䌌ãããŠããå¯èœæ§ïŒå€éå
±ç·æ§ïŒãã瀺ãèŠåãåºãŠããŸãã
飿CPIãšå®è³ªè³éã匷ãçžé¢é¢ä¿ã«ããããã§ãã
ä¿æ°ã®å€§ãããæšæºèª€å·®ã®è§£éã«æ³šæãå¿
èŠãªå ŽåããããŸãã
ããã
ãªã³ã¯ãšã³ãŒã
ã·ãªãŒãºèšäº
次ã®èšäº
åã®èšäº
ç®æ¬¡
ððð
Python ã³ãŒã
èšäºã®å³è¡šã»çµ±èšæ°å€ãäœæãã Python ã³ãŒãã§ãã
ð¥ïž ããŒã¿ã®æºå
# ããŒã¿ã®ç»é²
# ã€ã³ããŒã
import pandas as pd
import numpy as np
# 幎
years = range(2000, 2025)
# æ¶è²»è
ç©äŸ¡ææ°ããŒã¿ãã¬ãŒã 2020å¹Žåºæº
df_cpi = pd.DataFrame({
'ç·åCPI': [97.3, 96.7, 95.8, 95.5, 95.5, 95.2, 95.5, 95.5, 96.8, 95.5,
94.8, 94.5, 94.5, 94.9, 97.5, 98.2, 98.1, 98.6, 99.5, 100.0,
100.0, 99.8, 102.3, 105.6, 108.5],
'飿CPI': [87.3, 86.8, 86.1, 85.9, 86.7, 85.9, 86.3, 86.6, 88.8, 89.0,
88.7, 88.4, 88.5, 88.4, 91.7, 94.6, 96.2, 96.8, 98.2, 98.7,
100.0, 100.0, 104.5, 112.9, 117.8]
}, index=years)
# åç®ã»å®è³ªè³éããŒã¿ãã¬ãŒã 2020å¹Žåºæº
df_wage = pd.DataFrame({
'åç®è³éææ°': [109.8, 108.1, 104.9, 104.1, 103.6, 104.3, 104.5, 103.5,
103.3, 99.3, 99.9, 99.7, 98.8, 98.5, 99.0, 99.1, 99.7,
100.2, 101.6, 101.2, 100.0, 100.3, 102.3, 103.5, 109.2],
'å®è³ªè³éææ°': [112.8, 111.8, 109.5, 109.0, 108.5, 109.6, 109.4, 108.4,
106.7, 104.0, 105.4, 105.5, 104.6, 103.8, 101.5, 100.9,
101.6, 101.6, 102.1, 101.2, 100.0, 100.5, 100.0, 98.0, 100.6]
}, index=years)
# ãšã³ã²ã«ä¿æ°ããŒã¿ãã¬ãŒã (%)
df_engel = pd.DataFrame({
'ãšã³ã²ã«ä¿æ°': [23.31, 23.22, 23.27, 23.16, 22.99, 22.86, 23.09, 23.02,
23.24, 23.42, 23.28, 23.64, 23.51, 23.62, 24.01, 25.0,
25.85, 25.75, 25.75, 25.65, 27.5, 27.15, 26.64, 27.8, 28.32]
}, index=years)
# 7ã«åœã®é£ææ¯åºæ¯çããŒã¿ãã¬ãŒã (%)
df_intl = pd.DataFrame({
'æ¥æ¬': [14.13, 14.14, 14.11, 13.93, 14.01, 13.43, 13.2, 13.24, 13.59,
14.13, 14.32, 14.43, 14.66, 14.6, 14.57, 15.15, 15.47, 15.47,
15.42, 15.45, 16.39, 16.21, 15.92, 16.1],
'ã€ã¿ãªã¢': [15.06, 14.99, 15.05, 15.06, 14.94, 14.72, 14.61, 14.49, 14.39,
14.72, 14.38, 14.2, 14.19, 14.36, 14.27, 14.27, 14.25, 14.31,
14.21, 14.27, 16.46, 15.44, 14.36, 14.7],
'ãã©ã³ã¹': [13.46, 13.66, 13.75, 13.84, 13.44, 13.09, 12.82, 12.62, 12.8,
13.04, 13.1, 13.12, 13.4, 13.56, 13.44, 13.38, 13.42, 13.29,
13.1, 13.1, 14.88, 13.88, 13.21, np.nan],
'ãã€ã': [10.87, 10.97, 10.92, 10.53, 10.89, 10.94, 10.7, 10.82, 10.8,
10.68, 10.35, 10.03, 10.01, 10.15, 10.45, 10.6, 10.6, 10.62,
10.73, 10.77, 11.86, 11.73, 11.53, np.nan],
'ã«ãã': [9.57, 9.69, 9.53, 9.51, 9.42, 9.26, 9.16, 9.03, 9.15, 9.68,
9.44, 9.35, 9.33, 9.24, 9.21, 9.27, 9.2, 9.08, 9.04, 9.08,
10.52, 9.81, 9.44, 9.61],
'ã€ã®ãªã¹': [8.15, 8.15, 8.06, 8.15, 8.04, 7.87, 7.84, 7.81, 8.06, 8.47,
8.35, 8.64, 8.57, 8.44, 8.22, 7.86, 7.95, 8.09, 8.12, 8.07,
9.65, 8.88, 8.37, 8.84],
'ã¢ã¡ãªã«': [6.99, 6.99, 6.86, 6.82, 6.77, 6.73, 6.67, 6.69, 6.82, 6.97,
6.8, 6.82, 6.82, 6.8, 6.8, 6.76, 6.7, 6.67, 6.57, 6.56,
7.35, 6.95, 6.91, 6.71],
}, index=years[:-1]) # 2000-2023
ãå®è¡çµæããªã
ð¥ïž æ¶è²»è ç©äŸ¡ææ°ã®æšç§»
# ã€ã³ããŒã
import matplotlib.pyplot as plt
import japanize_matplotlib
# ãã®PCçšã®èšå®
plt.rcParams['figure.dpi'] = 100
# å³1ïŒæ¶è²»è
ç©äŸ¡ææ°ïŒç·åã»é£æã2000â2024ïŒ
# æç»é åã®èšå®
plt.figure(figsize=(8, 4.5))
# ç·åCPIã®æãç·ã°ã©ãã®æç»
plt.plot(df_cpi['ç·åCPI'], color='tab:blue', label='ç·åCPI')
# 飿CPIã®æãç·ã°ã©ãã®æç»
plt.plot(df_cpi['飿CPI'], color='tab:orange', label='飿CPI')
# åºæºç·ïŒ2020幎=100%ïŒ
plt.axhline(100, color='gray', lw=1)
# 修食
plt.title('æ¶è²»è
ç©äŸ¡ææ°ã®æšç§»ïŒå¹Žå¹³åã2020幎=100%ïŒ', fontsize=16)
plt.xlabel('幎', fontsize=14)
plt.ylabel('æ¶è²»è
ç©äŸ¡ææ° [%]', fontsize=14)
plt.legend()
plt.show()ãå®è¡çµæã

ð¥ïž åç®ã»å®è³ªè³éææ°ã®æšç§»
# å³2ïŒåç®ã»å®è³ªè³éææ°ïŒ2000â2024ïŒ
# æç»é åã®èšå®
plt.figure(figsize=(8, 4.5))
# åç®è³éææ°ã®æãç·ã°ã©ãã®æç»
plt.plot(df_wage['åç®è³éææ°'], color='tab:blue', label='åç®è³éææ°')
# å®è³ªè³éææ°ã®æãç·ã°ã©ãã®æç»
plt.plot(df_wage['å®è³ªè³éææ°'], color='tab:orange', label='å®è³ªè³éææ°')
# ç·åCPIã®æãç·ã°ã©ãã®æç»
plt.plot(df_cpi['ç·åCPI'], color='tab:red', label='ç·åCPI', ls='--')
# åºæºç·ïŒ2020幎=100%ïŒ
plt.axhline(100, color='gray', lw=1)
# 修食
plt.title('è³éææ°ã®æšç§»ïŒå¹Žå¹³åã2020幎=100%ïŒ', fontsize=16)
plt.xlabel('幎', fontsize=14)
plt.ylabel('è³éææ° [%], æ¶è²»è
ç©äŸ¡ææ° [%]', fontsize=14)
plt.ylim(90, 117)
plt.legend()
plt.show()ãå®è¡çµæã

ð¥ïž ãšã³ã²ã«ä¿æ°ã®æšç§»
# å³3ïŒãšã³ã²ã«ä¿æ°ïŒ2000â2024ïŒ
# æç»é åã®èšå®
fig, ax = plt.subplots(figsize=(8.2, 4.5))
twinx = ax.twinx() # å³åŽã®y軞ã远å
# ãšã³ã²ã«ä¿æ°ã®æãç·ã°ã©ãã®æç»
ax.plot(df_engel['ãšã³ã²ã«ä¿æ°'], label='ãšã³ã²ã«ä¿æ°')
# 飿CPIã®æãç·ã°ã©ãã®æç»ïŒç Žç·ïŒ
twinx.plot(df_cpi['飿CPI'], color='tab:red', label='飿CPI', ls='--')
# å¡äŸã®è¡šç€º
handles1, labels1 = ax.get_legend_handles_labels()
handles2, labels2 = twinx.get_legend_handles_labels()
ax.legend(handles1 + handles2, labels1 + labels2)
# 修食
ax.set_title('ãšã³ã²ã«ä¿æ°ã®æšç§»', fontsize=16)
ax.set_xlabel('幎', fontsize=14)
ax.set_ylabel('ãšã³ã²ã«ä¿æ° [%]', fontsize=14)
twinx.set_ylabel('飿CPI [%]', fontsize=14)
plt.show()ãå®è¡çµæã

ð¥ïž ååž°åæïŒãšã³ã²ã«ä¿æ° = a + b à é£åCPI + c à å®è³ªè³éææ°
# ååž°åæã®å®è¡
# ã€ã³ããŒã
import statsmodels.api as sm
import statsmodels.formula.api as smf
# 説æå€æ°ãšç®ç倿°ã®äœæ
df_merge = pd.concat([df_engel, df_cpi, df_wage], axis=1)
X = df_merge[['飿CPI', 'å®è³ªè³éææ°']]
y = df_merge['ãšã³ã²ã«ä¿æ°']
# ååž°åæã®å®è¡
model = smf.ols('ãšã³ã²ã«ä¿æ° ~ 飿CPI + å®è³ªè³éææ°', data=df_merge).fit()
model.summary()ãå®è¡çµæã

# ååž°åæã®çµæã®è泚[2]ã§å€éå
±ç·æ§ã®ãããâ説æå€æ°ã®çžé¢ä¿æ°ã確èª
df_merge[['ãšã³ã²ã«ä¿æ°', '飿CPI', 'å®è³ªè³éææ°']].corr().round(2)ãå®è¡çµæã

ð¥ïž äž»èŠ7ã«åœã®é£ææ¯åºæ¯çã®æšç§»
# å³4ïŒåœéæ¯èŒïŒ7ã«åœã®é£ææ¯åºæ¯çã2000â2023ïŒ
# ã€ã³ããŒã
import seaborn as sns
# æç»é åã®èšå®
plt.figure(figsize=(8.4, 4.5))
# æãç·ã°ã©ãã®æç»
sns.lineplot(data=df_intl)
# 修食
plt.title('äž»èŠ7ã«åœã®é£ææ¯åºæ¯çã®æšç§»ïŒ2000â2023幎ïŒ', fontsize=16)
plt.xlabel('幎', fontsize=14)
plt.ylabel('飿æ¯åºæ¯ç [%]', fontsize=14)
plt.ylim(6, 17)
plt.legend(bbox_to_anchor=(1, 1))
plt.show()ãå®è¡çµæã

ððð
ããã°ã®ç޹ä»
note ã§ïŒã€ã®ã·ãªãŒãºèšäºãæžããŠããŸãã
ãã²èŠããŠãã£ãŠãã ãããïŒ
ïŒïŒã®ãã³ãçµ±èš
çµ±èšæ€å®ïŒçŽã®åé¡éãæãããã«ããŠã確çã»çµ±èšããã£ããæãäžããããã°ã§ãã
éè«æèŠã§å€§äžå€«ã§ãããã²èŠããŠãã£ãŠãã ãããã
çµ±èšæ€å®ïŒçŽå
¬åŒåé¡éCBT察å¿çã«å¯Ÿå¿ããŠããŸãã
PythonãEXCELã®ãµã³ãã«ã³ãŒãã®é
åžããããŸãã
ïŒïŒçµ±èšã»ããŒã¿åæãšã€ãªãã
ã·ãªãŒãºãçµ±èšã»ããŒã¿åæãšã€ãªãããã¯ãçµ±èšã»ããŒã¿åæãšã®ãã€ãªããããçºæããŠãã³ã©ã 颚ã«ä»ç«ãŠãããã°ã·ãªãŒãºã§ãã
çæ AI ã®åãåããªãããçµ±èšã»ããŒã¿åæã®å
¥ãå£ãã€ã¡ãŒãžããŠãèªç±æ°ãŸãŸã«æžããŸããã
ããšãã°âŠ
ã»æ¥åžžç掻ãšçµ±èšã®ã€ãªãã
ã»çµ±èšæ€å®ïŒçŽãããã®å
ãžã®ã€ãªãã
æ°æ¥œã«ãèªã¿ããã ãããå¬ããã§ãð
ïŒïŒå®éšïŒãã®ãããã€ãºã¢ããªã³ã°ïŒïŒïŒãPyMC Ver.5ã§
æžç±ããã®ãããã€ãºã¢ããªã³ã°ãã»ããã®ãããã€ãºã¢ããªã³ã°ïŒãã®å¿çåŠç ç©¶ã«çšãããããã€ãºã¢ãã«ã PyMC Ver.5ã§æããŠåæããŸãã
ãã®æžç±ãã¯ãããå€ãã®ãã€ãºã¢ãã«ã¯ èšèªïŒStanã§æžãããŠããŸãã
PyMCã®å¯èœæ§ãæ¢ãåºããæè»œã«ãã€ãºã¢ããªã³ã°ãå®è·µã§ããããã«åªããŸãã
身è¿ãªããŒããã€ã¡ãŒãžããããããŒãã§ãã®ã§ããã²ãã²PyMCã§åãããŠãäžç·ã«æ¥œãã¿ãŸãããïŒ
ïŒïŒå®éšïŒå²©æ³¢ããŒã¿ãµã€ãšã³ã¹1ã®ãã€ãºã¢ããªã³ã°ãPyMC Ver.5ã§
æžç±ãå®éšïŒå²©æ³¢ããŒã¿ãµã€ãšã³ã¹vol.1ãã®ïŒäººã®ãã€ãžã¢ã³ã«ãããã€ãºã¢ãã«ã PyMC Ver.5ã§æããŠåæããŸãã
ãã®æžç±ã¯ãã€ãºããã°ã©ãã³ã°ã®ã€ããããã£ãããšåŠã¶ããšãã§ããè¯æžã§ãã
楜ããPyMCã¢ãã«ãåãããŠããã€ãºãšä»²è¯ãã«ãªããæ°ãããŸãã
ã¿ãªããããã²ãã²PyMCã§åãããŠãäžç·ã«éãã§åŠã³ãŸãããïŒ
ïŒïŒæ¥œããåçµ ãã€ãºã»Pythonç
ãã€ãºãPythonããã®ä»ã®ãæžç±ã®åçµæŽ»åãã®ææãããã°ã«ããŸãã
äž»ã«Pythonãžã®ç¿»èš³ã«åãçµãã§ããŸãã
åçµã«åãçµãã仲éããã®ãµã³ãã«ã³ãŒãã«ãªãã°å¹žãã§ãð
ïŒïŒRãšStanã§ã¯ãããå¿çåŠã®ããã®æç³»ååæå ¥é ã PythonãšPyMC Ver.5 ã§
æžç±ãRãšStanã§ã¯ãããå¿çåŠã®ããã®æç³»ååæå
¥éãã®æç³»ååæãPythonãšPyMC Ver.5 ã§å®è·µããŸãã
ãã®æžç±ã«ã¯æç³»ååæã®ããŒããçãã ãããïŒ
æç³»ååæã®æã®æ·±ãã宿ããããŸããã
倧奜ããªPythonã§æ¥œããæç³»ååæãåŠã³ãŸãã
ïŒïŒããŒã¿ãµã€ãšã³ã¹ã£ãœãããšãç¶Žã
çµ±èšãããŒã¿åæãAIãæ©æ¢°åŠç¿ãPythonã®ã³ã©ã ãäžå®æã«ç¶Žã£ãŠããŸãã
çµ±èšã»ããŒã¿ãµã€ãšã³ã¹æžç±ã«ãŸã€ããèšäºãå€ãã§ãã
ãçµ±èšããPythonããæ°åŠãšPythonããRãã®ã·ãªãŒãºãçãŸããŠããŸãã
ïŒïŒPythonæ©æ¢°åŠç¿ããã°ã©ãã³ã°å®è·µèš
æžç±ãPythonæ©æ¢°åŠç¿ããã°ã©ãã³ã° PyTorch & scikit-learnç·šããåŠãã ãšãã®ããŸããŸãªæããèšäºã«ããŸããã
ãã®æžç±ã¯ãscikit-learnãšPyTorchã®æç§æžã§ãã
ããã£ãããã²ãã詊ããã ãããŸãã
æåŸãŸã§ãèªã¿ããã ããŸããŠãããããšãããããŸããã
ãããªãšæã£ããå¿æŽãããïŒ
å¿æŽããããšãããããŸãããããããããã°ã£ãŠèšäºãäœæããŸãïŒãã®èšäºãåå ããŠããåé
ãã®èšäºã¯ noteãã㌠ã«ããã¯ã¢ãããããŸãã

