150
119

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

倧阪郜構想の投祚結果を区ごずに分析しおみた

150
Last updated at Posted at 2020-11-03

はじめに

私は珟圚倧阪垂に䜏んでおり、䞀昚日の郜構想投祚はテレビにかじり぀きながら芋おいたした。

経過を芋おいお思ったのが、区ごずの結果の差が顕著に出おおり、分析察象ずしお適したデヌタが埗られそうだず感じたため、詳しく分析しおみたした。

※䞋図はおおさか維新の䌚HP掲茉の、郜構想における新旧区分け
image.png

GitHubに、䜿甚したスクリプトやクレンゞング埌のデヌタをアップロヌドしおいたす

Qiitaのガむドラむンにあるように、あくたで技術蚘事ずしおの領分を超えないよう、政治的な深い考察は避け、埗られた事実のみを列挙しおいこうず思いたす。

たた、私は因果掚論のような高床な分析のスキルは持ち合わせおいないので、「さらに深い知芋を埗るためにはこうしたらいい」
ずいうような手法に関するアドバむスがございたしたら、コメント頂けるず倧倉ありがたいです

結論

結論に至るたでの手順は次章以降で述べたすが、以䞋のような結論が埗られたした。

「3050代割合が高い区ほど、賛成率が高い」
「平均䞖垯人数が少ない(ファミリヌ局が少ない)区ほど、賛成率が高い」
「緯床が高い(北偎の)区ほど、賛成率が高い」
「男性比率が高い区ほど、賛成率が高い」

※圱響床の高い順に䞊べおいたす

分析の手順

デヌタ分析の分野ではおなじみの、TJO氏のブログに蚘茉されおいるように、

  1. 目的の明確化目的倉数の蚭定
  2. 特城量遞択説明倉数の遞択
  3. デヌタの収集ずクレンゞング
  4. 分析ず結果の可芖化
  5. 考察ずたずめ(今回は深入りしない)

ずいう手順で進めおいきたす

1. 目的の明確化

今回、私が気になったのは、䞋蚘の2点です
①賛成が倚い区ず少ない区の偏り
②前回投祚ずの差

①に関しおは、䞋図毎日新聞のサむトより匕甚のように、賛成率に明確な地理的偏りが芋られたす垂の䞭倮郚北寄りの賛成率が高い
image.png
この偏りの陰にある芁因特城量を、数倀的な根拠をもっおあぶり出したいず思いたした。

ですので、
目的賛成率の高䜎に察し、根拠のある芁因候補を抜出する
目的倉数賛成率
説明倉数芁因候補ずなる特城量
ずしお分析を進めようず思いたす

②に関しおは、前回ず比べ賛成率が倧きく倉化した区の芁因を抜出したいので、
目的倉数今回の賛成率
説明倉数前回の賛成率
ずしお、倖れ倀をグルヌピングしたいず思いたす。

2. 特城量遞択説明倉数の遞択

前述のように、目的倉数である賛成率に圱響を䞎えそうな指暙を、特城量ずしお抜出しおいきたす。

幎霢構成

䞋図NHKの集蚈のように、出口調査では3050代の働き盛りの賛成率が高く、
60代以䞊の高霢者、および20代の若者の賛成率が比范的䜎いです。
image.png
今回は、20代のみ傟向が逆転しおいるこずが少し特異だず感じたので、この圱響の有無を考慮し、
特城量1「60歳以䞊割合」(20代の逆転珟象を考慮しない)
特城量2「3050代割合」(20代の逆転珟象を考慮)
を特城量に加えたす

男女比率

幎霢ほどの差はありたせんが、男女比も圱響がありそうなので、
image.png
特城量3「男性比率」
を特城量に加えたす

新区圹所本庁舎からの距離

䞋図のように、新区圹所本庁舎は垂の䞭心郚に集䞭しお眮かれる蚈画ずなっおいたした。
image.png

私は本庁舎が眮かれる区ずは異なる区に䜏んでいたすが、「自分が䜏んでいる地域が発展から眮いおいかれるのでは」ずいう䞍安を少し感じたので、この感芚ドメむン知識を信じ、
特城量4「本庁舎が眮かれる駅から、旧区䞭心駅たでの所芁時間」
を、特城量ずしお加えたした

平均䞖垯人数、平均幎収

これらは明確な根拠はありたせんが、䜕ずなく投祚行動に圱響を䞎えそうで、か぀デヌタも入手しやすいので、特城量に加えたした
特城量5「平均䞖垯人数」
特城量6「平均1人あたり幎収」

3. デヌタの収集ずクレンゞング

目的倉数ずなる賛成率はたくさん゜ヌスがあるので割愛したすが、
各皮特城量は䞋蚘の堎所・クレンゞング方法で収集したした

具䜓的な特城量

䞋蚘6特城量を䜿甚したす

「1.60歳以䞊割合」「2.3050代割合」「3.男性比率」

デヌタ入手方法䞋蚘倧阪垂HPより2020幎の幎霢・男女別掚蚈人口をダりンロヌド
https://www.city.osaka.lg.jp/toshikeikaku/page/0000015211.html
クレンゞング方法党䜓に察する察象幎霢局の割合、男性の割合を区ごずに算出しフィヌルド化

「4.本庁舎たでの時間」

デヌタ入手・クレンゞング方法䞋蚘乗換サむトで、旧区䞭心駅新区圹所最寄駅たでの所芁時間を、土曜8, 12, 15, 18時で求め平均
https://ekitan.com/

「5.平均䞖垯人数」

デヌタ入手方法䞋蚘倧阪垂HPより2020幎の1䞖垯圓たり人員をダりンロヌド
https://www.city.osaka.lg.jp/toshikeikaku/page/0000068035.html
クレンゞング方法区ごずににフィヌルド化

「6.平均1人あたり所埗」

デヌタ入手方法䞋蚘倧阪垂HPより䞖垯別収入階局デヌタをダりンロヌド
https://www.city.osaka.lg.jp/shimin/cmsfiles/contents/0000180/180789/20.pdf
クレンゞング方法階局ごずに平均幎収ず割合を積算しお平均䞖垯幎収を求め、5.で求めた平均䞖垯人員で割る

埗られたデヌタ

䞋図のように、フィヌルド化されたデヌタが埗られたした。これでクレンゞング完了です
image.png

日本語だずPythonで扱った際に良くない事が色々起こるので、英語化しおおきたす
image.png

4. デヌタの分析ず可芖化

今回は「目的倉数賛成率」、「説明倉数前章の6皮類の特城量」ずしお回垰をしたいので、
䞋蚘の手順で進めおいきたす
4-1) デヌタ党䜓の可芖化
4-2) 特城量遞択盞関の匷い特城量の陀倖
4-3) 回垰モデルの䜜成
4-4) 性胜評䟡
4-5) モデルの改善

4-1. デヌタ党䜓の可芖化

過去に䜜成したこちらのツヌルを䜿甚し、散垃図ず盞関係数を求めたす。

#%%読蟌
import pandas as pd
from custom_pair_plot import CustomPairPlot

#䜿甚するフィヌルド
KEY_VALUE = 'ward_before'#キヌ列
OBJECTIVE_VARIALBLE = 'approval_rate'#目的倉数
EXPLANATORY_VALIABLES = ['1_over60','2_between_30to60','3_male_ratio','4_required_time','5_household_member','6_income']#説明倉数

#pair_analyzerで盞関を可芖化
df = pd.read_csv(f'./osaka_metropolis_english.csv')
use_cols = [OBJECTIVE_VARIALBLE] + EXPLANATORY_VALIABLES
gp = CustomPairPlot()
gp.pairanalyzer(df[use_cols])

※特城量名を英語に倉えおいたすが、番号から類掚しおください
image.png
赀枠で囲った郚分が、目的倉数賛成率ずの盞関係数になりたす。

可芖化により埗られた知芋

䞋蚘のような知芋が埗られそうです
①20代の逆転を考慮しない特城量「1. 60歳以䞊割合」よりも、考慮した「2. 3050代比率」の方が賛成率ずの盞関係数が高いもくろみ通り
②男性比率は賛成率ずの盞関係数が䜎い倖れ倀(西成区)の圱響がありそうだが‥
③説明倉数「2. 3050代比率」ず「6. 平均幎収」の盞関係数が0.89ず高い

4-2. 特城量遞択

倩䞋り的ですが、今回は最近の回垰分析の定番手法である、募配ブヌスティングXGBoostを䜿甚したす。
この手法は倚重共線性盞関の匷い説明倉数を䞡方䜿甚した際の䞍具合に比范的匷いず蚀われおいたすが、それでもこちらのサむトのように盞関の匷い倉数をそのたた䜿甚するず、無芖できない圱響が出おくるようです

そこで今回は、他の説明倉数ず盞関係数が高い説明倉数を、分析察象から陀倖したした。
倚重共線性の基準ずしおはVIF=10(R=0.95に盞圓)、あるいは5(R=0.9に盞圓)がよく䜿われるようですが、
今回は厳しめに芋お、盞関係数0.9以䞊の説明倉数を陀倖したす。
具䜓的には
・「1. 60歳以䞊割合」は陀倖‥「2. 3050代比率」ず盞関係数-0.96で、か぀賛成率ずの盞関が2.より䜎い
・「6. 平均1人あたり幎収は陀倖」「2. 3050代比率」ずの盞関係数0.89ず基準をやや䞋回っおいるが、「働き盛りが倚いず幎収が高い」ずいう明確な因果関係が特定できるため、陀倖する

ずいうわけで、今埌の分析には䞋蚘の4特城量を䜿甚するこずずしたす。
特城量2「3050代割合」(20代の逆転珟象を考慮)
特城量3「男性比率」
特城量4「本庁舎が眮かれる駅から、旧区䞭心駅たでの所芁時間」
特城量5「平均䞖垯人数」

特城量陀倖埌の散垃図は䞋図のようになりたす。
image.png
この説明倉数を䜿甚し、回垰分析を進めおいきたす。
たた、以䞋は回垰分析であるこずを匷調するため、「特城量」の甚語を「説明倉数」に統䞀させお頂きたす。

4-3. 回垰モデルの䜜成

前述のように、最近の回垰分析の䞻流である募配ブヌスティングXGBoostを䜿甚したす。
䟿利なPythonのラむブラリが存圚するので、カンタンに䜿甚するこずができたすが、
ハむパヌパラメヌタがいく぀か存圚するので、グリッドサヌチにより最適化したす

グリッドサヌチによるパラメヌタの最適化

グリッドサヌチずクロスバリデヌションを組み合わせお、最適なハむパヌパラメヌタを探したす。

クロスバリデヌションずは、端的に蚀うず
「デヌタをN等分しお、性胜ず過孊習防止のバランスが取れたパラメヌタ蚭定を探す」
ずいう操䜜になりたすデヌタの等分方法は䞋図Wikipedia画像参照
image.png

たたグリッドサヌチずは、あらかじめ決め打ちしたパラメヌタの組み合わせを総圓たりで探玢する方法です。時間が掛かるこずがデメリット、実装が簡単であるこずがメリットずなりたす。
ネットを怜玢し、XGBoostで実際によく䜿われおいるパラメヌタの範囲を候補ずしお䜿甚したした。

import xgboost as xgb
from sklearn import metrics as met
import sklearn as skl
from sklearn.model_selection import LeaveOneOut
from sklearn.model_selection import train_test_split
from sklearn.model_selection import GridSearchCV
import numpy as np
import matplotlib.pyplot as plt
import os
from datetime import datetime
import seaborn as sns

#䜿甚するフィヌルド
KEY_VALUE = 'ward_before'#キヌ列
OBJECTIVE_VARIALBLE = 'approval_rate'#目的倉数
USE_EXPLANATORY = ['2_between_30to60','3_male_ratio','4_required_time','5_household_member']#䜿甚する説明倉数
#デヌタ読蟌
df = pd.read_csv(f'./osaka_metropolis_english.csv')

#目的倉数ず説明倉数を取埗pandasではなくndarrayに倉換
y = df[[OBJECTIVE_VARIALBLE]].values
X = df[USE_EXPLANATORY].values
#グリッドサヌチず性胜評䟡の共通パラメヌタ
num_round=10000#最倧孊習回数
early_stopping_rounds=50#評䟡指暙がこの回数連続で改善しなくなった時点で孊習をストップ
seed = 42#乱数シヌド

#グリッドサヌチ甚パラメヌタ(詳现はhttps://qiita.com/R1ck29/items/50ba7fa5afa49e334a8f)
cv_params = {'eval_metric':['rmse'],#デヌタの評䟡指暙
             'objective':['reg:squarederror'],#最小化させるべき損倱関数
             'random_state':[seed],#乱数シヌド
             'booster': ['gbtree'],
             'learning_rate':[0.1,0.3,0.5],
             'min_child_weight':[1,5,15],
             'max_depth':[3,5,7],
             'colsample_bytree':[0.5,0.8,1.0],
             'subsample':[0.5,0.8,1.0]
            }

#XGBoostのむンスタンス䜜成
cv_model = xgb.XGBRegressor()
#グリッドサヌチのむンスタンス䜜成
# n_jobs=-1にするずCPU100%で党コア䞊列蚈算。ずおも速い。
cv = GridSearchCV(cv_model, cv_params, cv = 5, scoring= 'r2', n_jobs =-1)

#グリッドサヌチ実行
evallist = [(X, y)]
cv.fit(X,
        y,
        eval_set=evallist,
        early_stopping_rounds=early_stopping_rounds
        )

#最適パラメヌタの衚瀺
print('最適パラメヌタ ' + str(cv.best_params_))
print('倉数重芁床' + str(cv.best_estimator_.feature_importances_))

なお、ここでグリッドサヌチに䜿甚するデヌタずテストデヌタを分けおいない事に違和感を芚えられる方もいるかもしれたせんが、本節ではあくたでパラメヌタの最適化が目的で、性胜評䟡は次節で別途行うため、ご容赊いただければず思いたす。
Leave_One_Outで1区ごずにグリッドサヌチを回すず所芁時間が‥

4-4. 性胜評䟡

テストデヌタず孊習デヌタを分けお性胜評䟡したす。

指暙ずしおは、䞋蚘を䜿甚したす
RMSE平均党䜓ずしおの予枬誀差の倧きさ(小さいほどGood)
予枬ず実際の盞関係数予枬ず実際の盞関の倧きさ(倧きいほどGood)
予枬誀差の最倧倀予枬誀差が極端に倧きい区が存圚しないか評䟡(小さいほどGood)

テストデヌタの分割方法

分け方には䜕皮類かありたすが

・デヌタ数が少ないので、孊習デヌタ数を確保する必芁がある
・1区ごずに性胜指暙を算出し、モデルに適合しない区をあぶりだしたい

ずいう芳点から、
1個ず぀テストデヌタを取り出し、残りを孊習デヌタずする「Leave_One_Out」で性胜評䟡を行いたす
他の区党おのデヌタで孊習したモデルで性胜を評䟡する、Wikipediaの䞋図参照
450px-LOOCV.gif

評䟡に䜿甚したコヌド

前蚘パラメヌタ最適化甚のコヌドに、䞋蚘のコヌドを远蚘しお性胜評䟡したす。

#%%3. 性胜評䟡(Leave-One-Out)
#パラメヌタにグリッドサヌチでの最適パラメヌタを䜿甚
params = cv.best_params_
#結果保持甚のDataFrame
df_result = pd.DataFrame(columns=['test_index','eval_rmse_min','train_rmse_min','num_train'])

#Leave-One-Outでデヌタ分割しお性胜評䟡
loo = LeaveOneOut()
for train_index, test_index in loo.split(X):#党デヌタに察しお分割ルヌプ
    X_train, X_test = X[train_index], X[test_index]
    y_train, y_test = y[train_index], y[test_index]
    dtrain = xgb.DMatrix(X_train, label=y_train)#孊習甚デヌタ
    dtest = xgb.DMatrix(X_test, label=y_test)#テストデヌタ
    evals = [(dtest, 'eval'),(dtrain, 'train')]#結果衚瀺甚の孊習デヌタずテストデヌタを指定
    evals_result = {}#結果保持甚

    #孊習実行
    model = xgb.train(params,
                    dtrain,#蚓緎デヌタ
                    num_boost_round=num_round,
                    early_stopping_rounds=early_stopping_rounds,
                    evals=evals,
                    evals_result=evals_result
                    )
    
    #モデルの性胜評䟡
    test_pred = model.predict(dtest, ntree_limit=model.best_ntree_limit)
    num_train = len(evals_result['eval']['rmse'])
    df_result = df_result.append({'test_index': test_index[0],
                    'key_value': df[[KEY_VALUE]].iloc[test_index[0],0],
                    'pred_value': test_pred[0],
                    'real_value': df[[OBJECTIVE_VARIALBLE]].iloc[test_index[0],0],
                    'eval_rmse_min': evals_result['eval']['rmse'][num_train - 1],
                    'train_rmse_min': evals_result['train']['rmse'][num_train - 1],
                    'num_train': num_train},
                    ignore_index=True)

#性胜評䟡結果の衚瀺
print('RMSE平均' + str(df_result['eval_rmse_min'].mean()))
print('盞関係数' + str(df_result[['pred_value','real_value']].corr().iloc[1,0]))
print('予枬誀差の最倧倀' + str(max((df_result['pred_value'] - df_result['real_value']).abs())))

#結果を出力
dt_now = datetime.now().strftime('%Y%m%d%H%M%S')
feat_use = 'feat' + '-'.join([ex.split('_')[0] for ex in USE_EXPLANATORY])
#評䟡結果
df_result.to_csv(f"{os.getenv('HOMEDRIVE')}{os.getenv('HOMEPATH')}\Desktop\{feat_use}_{dt_now}_result.csv")

path = f"{os.getenv('HOMEDRIVE')}{os.getenv('HOMEPATH')}\Desktop\{feat_use}_{dt_now}_result.txt"
with open(path, mode='w') as f:
        f.write('特城量' + str(USE_EXPLANATORY))
        f.write('\n最適パラメヌタ' + str(cv.best_params_))
        f.write('\nグリッドサヌチ察象' + str(cv_params))
        f.write('\n倉数重芁床' + str(cv.best_estimator_.feature_importances_))
        f.write('\nRMSE平均' + str(df_result['eval_rmse_min'].mean()))
        f.write('\n盞関係数' + str(df_result[['pred_value','real_value']].corr().iloc[1,0]))
        f.write('\n予枬誀差の最倧倀' + str(max((df_result['pred_value'] - df_result['real_value']).abs())))

#散垃図衚瀺
sns.regplot(x="pred_value", y="real_value", data=df_result, ci=0)

評䟡結果

今回求めた性胜評䟡指暙は䞋蚘のようになりたした。

RMSE平均(小さいほどGood)0.0226
予枬ず実際の盞関係数(倧きいほどGood)0.619
予枬誀差の最倧倀(小さいほどGood)0.0709

この指暙が良いのか悪いのかは次節で評䟡するので、
たずは予枬倀(暪軞)ず実際の倀(瞊軞)ずを比范した散垃図を芋おみたす
image.png

䞊蚘散垃図を芋お、予枬倀ず実枬倀の差の倧きい犏島区の結果に、少し違和感を芚えたした。
䟋えば、同じ合䜵埌の北区に所属する郜島区ず比范するず、
image.png

党おの特城量の倀が近いにも関わらず犏島区の予枬倀が䞍自然に䜎くなっおおり(むしろ3050代割合が倧きい分、感芚的には郜島区よりも予枬倀が倧きくなりそう)、
Leave-One-Out時に分割した孊習デヌタに過孊習しおしたっおいるず思われたす。
次節以降で過孊習防止法を考えおみたす。

4-5. モデルの改善

前節で過孊習ず思われる珟象が発生しおいたため、改善策を適甚しおモデルの性胜向䞊を図りたす

改善策1 特城量を絞る

過孊習防止のためグリッドサヌチ以䞊の方法が思い぀かなかったので、䜿甚する説明倉数を絞っお察凊しおみたした。

䜿甚説明倉数 RMSE平均
(小さいほどGood)
予枬ず実際の盞関係数
(倧きいほどGood)
予枬誀差の最倧倀
(小さいほどGood)
2,3,4,5党お䜿甚 0.0226 0.619 0.0709
2,3,4 0.0213 0.648 0.0531
2,3,5 0.0191 0.744 0.0474
2,4,5 0.0222 0.614 0.0739
3,4,5 0.0221 0.642 0.0593
2,3 0.0197 0.707 0.0519
2,4 0.0181 0.733 0.0604
2,5 0.0248 0.572 0.0590
3,4 0.0229 0.568 0.0610
3,5 0.0232 0.596 0.0503
4,5 0.0304 0.460 0.0750
2 0.0209 0.646 0.0559
3 0.0303 -0.996 0.0726
4 0.0246 0.541 0.0532
5 0.0292 0.407 0.0686

特に性胜が高かった組み合わせを倪字にしたした。
先ほどず同様に散垃図も䞋蚘したす

説明倉数2,3,5を䜿甚した堎合の予枬倀vs実枬倀散垃図

pred_real_2-3-5.png

説明倉数2,4を䜿甚した堎合の予枬倀vs実枬倀散垃図

pred_real_2-4.png

なぜ指暙が改善した

䜿甚した4説明倉数間には3者間以䞊での盞関・因果関係䟋「本庁舎に近い䞭心街ほど、3050代の働き盛り䞖代が倚く、ファミリヌ局が少ないので平均䞖垯人員が少ない」などが含たれるため、党おを䜿甚するず悪圱響を䞎えるのではないかず仮説を立おおいたす。

たた、正盎私の募配ブヌスティング掻甚スキルが足りないため、4倉数では性胜を出し切れなかった感も吊めないため、
「こうするず過孊習を防げる」ずいうような知芋をお持ちの方がいれば、コメント頂けるずありがたいです。

改善策2 地域の䜍眮関係の考慮

性胜が良かった説明倉数2,3,5を䜿甚したモデルの、予枬倀ず実枬倀の散垃図を芋るず、予枬より実枬倀が䜎い区には、南偎の区(特に赀で瀺した新倩王寺区に盞圓する区)が目立぀こずが分かりたす。
image.png
たた逆に北区や淀川区など緑で瀺した北偎の区では、予枬よりも実枬倀が高い区が倚いです。

倧阪垂は北偎ず南偎で地域制が倧きく異なるず蚀われおおり、この地域性の差が投祚行動に圱響を䞎えたず仮説が立おられたす。

そこで今回、南北を衚す説明倉数ずしお、「緯床(latitude)」を远加したした
(「北緯〇床△分□秒」の〇の郚分は党お"34床"なので、今回は分以䞋の倀を䜿甚したす)

䜿甚説明倉数 RMSE平均
(小さいほどGood)
予枬ず実際の盞関係数
(倧きいほどGood)
予枬誀差の最倧倀
(小さいほどGood)
2,3,5 0.0191 0.744 0.0474
2,3,5+緯床 0.0174 0.767 0.0444
2,4 0.0181 0.733 0.0604
2,4+緯床 0.0182 0.755 0.0586

説明倉数「2,3,5」を䜿甚した堎合も、「2,4」を䜿甚した堎合も、軒䞊み指暙が改善しおおりたす。
やはり南北の差が賛成率の芁因ずなっおいるようです。

説明倉数2,3,5,latitudeを䜿甚した堎合の予枬倀vs実枬倀散垃図

pred_real_2-3-5-latitude.png

説明倉数2,4,latitudeを䜿甚した堎合の予枬倀vs実枬倀散垃図

pred_real_2-4-latitude.png

説明倉数2,3,5,latitudeを䜿甚した堎合の特城量重芁床(Feature Importance)

importance_2-3-5-latitude.png

5. 考察ずたずめ

最も性胜が良いモデル(説明倉数2,3,5,latitudeを䜿甚)は、重芁床の倧きい順に、䞋蚘の特城量を䜿甚しおいたす
特城量2 「3050代割合」
特城量5 「平均䞖垯人数」
远加特城量 「緯床」
特城量3 「男性比率」

ここで䜿甚した特城量が、目的倉数である賛成率に圱響を䞎える芁因ずみなせたす。

深い原因考察は避けたすが、
「働き盛り䞖代の男性比率が倧きく、平均䞖垯人数が少なく、北偎にある区」で賛成が倚く
「働き盛り䞖代の男性比率が小さく、ファミリヌ局が倚く、南偎にある区」で反察が倚い
こずが事実ずしお蚀えそうです。
前節の特城量重芁床を芋る限り、幎霢構成の圱響が最も倧きく、男性比率の圱響が最も小さそうです

たた、4-1での盞関分析からもわかるように
20代の反察が比范的倚い(30代ずの逆転珟象)こずも、区による賛成率の差に圱響を䞎えおいる
ずも蚀えるかず思いたす。

6.感じたこず

今回の分析を通じお、䞋蚘のような感觊を埗るこずができたした

ドメむン知識の重芁さ

4.4で過孊習を疑うきっかけずしお、「犏島区が倖れ倀ずなる理由が思い浮かばない」ずいうものがありたす。
犏島区はグルメで有名な特色のある地域ですが、
投祚に圱響を䞎えるような芁玠ずしおは垂内でも平均的なむメヌゞドメむン知識があったので、「ここが倖れ倀になるずいうこずは、䜜ったモデルの性胜が悪いに違いない」ずいう考えに至るこずができたした。

ドメむン知識を過信しすぎない

2章では、垂民の感芚ずしお感じおいた「本庁舎から遠いほど䞍䟿さを感じお賛成率が䜎そう」ずいう考えに基づいお、
特城量「4.本庁舎たでの所芁時間」を远加したした。

乗換案内をポチポチしながらデヌタ収集しおいるずきは、
「性胜アップに繋がる特城量になるに違いないドメむン知識最匷」
ず思いながらハむテンションになっおいたしたが、
実際に分析を進めおみるず、他の特城量に埋もれおしたう皋床の圱響床しかありたせんでした。

そしお頑匵っお収集したデヌタには思い入れも生たれるので、
「䜕ずしおもこの特城量は捚おたくない無理やりでも䜿いたい」
ずいう、分析者ずしお客芳性を欠いた心情が生じおきたす。

このようなドメむン知識から生たれた先入芳や思い入れを封印しお、埗られた事実のみから刀断する事の難しさを、身をもっお感じるこずができたした。

生きたデヌタを分析する面癜さ

タむムリヌか぀話題性の高いデヌタを扱うず、モチベヌションが䞊がるこずをひしひしず感じたした。
今埌も勉匷した結果をアりトプットする堎ずしお、時事ネタを分析しおいこうず思いたす

おたけ前回投祚ずの差の分析

おたけ皋床の分析ずなりたすが、前回投祚ずの差が倧きい区に぀いおも分析しおみたす。

前回投祚ず今回投祚の賛成率比范

前回2015幎投祚の賛成率ず、今回賛成率を比范しおみたした(暪軞前回、瞊軞今回)
image.png
抂ね前回ず同様の傟向(R2=0.88)ですが、いく぀か前回から倉化のあった区がありたす特に顕著な区が赀色

区分けの比范

前述の前回からの倉化の䞀因に、合䜵埌の区分けの倉化があるかもしれないず思い、
前回ず今回で区分けを比范しおみたした。

前回の区分け

䞋図は産経新聞HPより
image.png

今回の区分け

image.png

䞭倮区、北区の䞭心郚の区分けには倉化がなく、
呚蟺郚の区前回の東区、南区、湟岞区が盞圓の区分けが倧きく倉化が出おいる本庁舎が垂䞭心郚に近い䜍眮にある区に線入ようです。

分析方針

前回から2%以䞊の増枛があった区を抜出しおみたした。
前節の分類䞭倮区・北区 or その他に基づき、合䜵埌の区分けの倉化も䜵蚘したす。

区名 合䜵埌の区分けの倉化 増枛
倧正区 あり +2.54%
西成区 なし +2.49%
北区 なし -2.73%
䞭倮区 あり -3.12%
阿倍野区 あり -3.32%
西区 なし -3.89%
枯区 あり -4.82%

合䜵埌の区分けの倉化があった区ず、なかった区に分けお分析したいず思いたす。

1. 区分けに倉化があった区

枯区、阿倍野区、倧正区が盞圓したす。
倩䞋り的にはなりたすが、枯区ずそれ以倖で異なる芁因がありそうだず感じおいたす。

枯区

枛少幅がダントツで倧きい枯区ですが、各皮報道でも觊れられおいるように、投祚前から地理的な遠さを指摘する声があったようです。
合䜵埌の地図を芋るず、枯区は本庁舎のある十䞉駅から、非垞に離れた堎所にありたす。
image.png
ただ離れた堎所にあるだけでなく、間に淀川ずいう倧きな川を挟んでいお地域的な繋がりも小さいですし、
電車で行こうずしおも途䞭の梅田駅での乗換時間が非垞に長く、ずおも䞍䟿です。
東京に䟋えるず、お台堎(江東区)ず新小岩(葛食区)くらいの䜍眮関係のむメヌゞ

前回構想では枯区に本庁舎が眮かれる予定であったこずや、
䌌たような䜍眮関係にある歀花区でも1.5%賛成率が䜎䞋しおいるこずからも、
本庁舎たでの地理的な遠さが圱響しおいるのではず掚察されたす。

阿倍野区、倧正区

倚少の䞻芳が入っおしたうこずをご容赊ください
阿倍野区に関しおは、前回の構想では阿倍野区には新"南区"の本庁舎が眮かれる予定だったのが、今回構想では旧倩王寺区に本庁舎が眮かれ、新区の名称も"倩王寺区"ずなりたす。
「あべのハルカス」ずいう名前が぀いたいきさ぀が、「阿倍野ずいう名前を党囜区にしたい」
ずいうものだったこずから考えおも、ある皮のラむバル関係にある隣の倩王寺区に区庁舎も区名も移っおしたうこずは、区民にずっおデメリットに映っおしたったのでは、ず感じたす。

逆に倧正区は、前回の本庁舎が隣で芏暡の近い枯区であったのに察し、今回はより芏暡の倧きい䞭倮区に移るので、
隣接した芏暡の近い区に本庁舎が移るずいう状況を脱したこずで、賛成率が䞊がったのではず掚察されたす

2. 区分けに倉化がなかった区

西成区(賛成率増)、北区(賛成率枛)、䞭倮区(æž›)、西区(æž›)が盞圓したす。

あたりはっきりずしたこずは分かりたせんが、区分けの倉曎ずは無関係に、この5幎間で䜕らかの政治的倉化が発生したず思われたす。
賛成率の枛った北区、䞭倮区、西区が平均1人あたり幎収のトップ4に入る区であるのに察し、
賛成率の増えた西成区が1人あたり幎収の最も䜎い区であるこずから、
収入に関係した倉化なのではずいう仮説が立おられたす

前回ず今回で賛成率が倉化した区 たずめ

䞋蚘の3分類に分けられそうです
区圹所ずの地理的隔絶
枯区、(歀花区)

近隣の芏暡の近い区に本庁舎
阿倍野区、倧正区、(旭区)

区分けの倉曎ずは無関係に、䜕らかの倉化が発生収入ず関係ありそう
西成区、䞭倮区、西区、北区

150
119
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
150
119

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?