Contents & Categories
| 固定リンク
最初のグラフが示すことは、投票率が上昇するとどうなる、ということではなく、投票率の高い地域で得票率が相対的に高い政党と低い政党とがある、ということになる。投票率の低い地域で得票率が相対的に高い政党と低い政党とがある。 もちろん、一般的に、投票率は都市部で低い。
かつての「動員」は、労働組合や業界団体などの「垂直的な組織動員」を指していたが、近年の日本保守党や参政党、あるいは国民民主党などに見られる現象は、「SNS等による熱狂の動員」という側面があるようだ。(自民党のものも含めて、それらの政党が掲げている憲法「改正」の内容について、その問題性についてマスメディアは十分に伝えていない。)
今回のような1時点でのデータからは推論することはできないが、もしも、投票率の変化が生じた場合には、以下のようなことがおこるであろう。(この記事の最後で投票率の上昇と各党の得票率の「変化」との関係を取りあげた。)
統計的に「投票率が高くなったところでシェアが高くなる」のであれば、それは組織による「底上げ」ではなく、「これまで投票に行かなかった層をどれだけ引っ張り出せたか(=浮動票の獲得)」の結果であろう。
投票率が上がると得票率が下がるのが、「組織・動員型」という説明ができるかもしれない。つまり、固定票(組織票)が一定なため、分母(投票者数)が増えると相対的なシェアが薄まる(希釈効果)。

以下のグラフはSASで作成した。
以下のグラフは、投票率の増分と得票率の増分の相関関係を示すものである。
有権者のエネルギー(投票率上昇)は、自民党へは「追い風」として、革新・新興勢力へは支持層を薄める「向かい風」として作用した。自民党が「正の相関」で票を吸い上げ、中道改革連合が「無相関」で停滞し、左派・新興勢力が「負の相関」でシェアを減らす結果となった。
グラフのバブルサイズは各投票区(区市町村)の有効投票総数を反映させている。
統計的な傾向(回帰直線)から大きく外れる「逸脱的なケース」については、大数の法則の観点から捉える必要があります。一般に、有権者数が多い大規模な自治体では、個々の多様な投票行動が全体の平均の中に収斂されるため、統計的な安定性が高まり、全体的なトレンド(回帰直線)に近接する傾向があります。
一方で、有権者数が極めて少ない小規模な自治体では、分母が小さいために大数の法則が十分に機能せず、統計的な分散が大きくなります。その結果、特定の地域事情や有力候補による強力な組織動員といった局所的な要因が、得票率や投票率のパーセンテージに極端な変動(逸脱)をもたらしやすくなります。
本分析のグラフにおいて、バブルのサイズ(有効投票総数)が小さい地域ほど回帰直線から離れた「外れ値」として現れている現象は、この統計的特性を反映していると考えられます。したがって、これらの逸脱的なケースは、「その地域で何が起きたのか」を解き明かすための重要なヒントなので無視すべきではありませんが、小規模集団ゆえの「統計的揺らぎ」として理解すべき面があります。
付言すれば、統計的には「揺らぎ」として処理される範囲であっても、その「揺らぎ」が特定の方向(例:特定の政党への極端な偏り)を向いている場合、それは「偶然」ではなく「局所的な意思」が働いた結果であると解釈できます。
| 固定リンク
速報状況:選挙区別 [Excelファイル/438KB] https://www.pref.fukuoka.lg.jp/uploaded/attachment/276994.xlsx
平成8年国内+在外:選挙区別 [Excelファイル/153KB] https://www.pref.fukuoka.lg.jp/uploaded/attachment/276990.xlsx
平成8年

参考(Rで作成したもの)
/* 日本語の変数名を許可する設定 */
options validvarname=any;
data work.touhyoritsu;
infile "touhyoritsu_w.csv" dsd dlm=',' truncover;
/* 列名定義 */
input
区市町村 : $40.
有権者_男 : comma12.
有権者_女 : comma12.
投票数_男 : comma12.
投票数_女 : comma12.
投票率_男
投票率_女
投票率_計
投票率_男_前回
投票率_女_前回
投票率_計_前回
;
/* 数値の表示形式を整える設定 */
format 有権者_男 有権者_女 投票数_男 投票数_女 comma12.
投票率_男 投票率_女 投票率_計 投票率_男_前回 投票率_女_前回 投票率_計_前回 8.2;
run;
/* データの確認 */
proc print data=work.touhyoritsu(obs=10);
title "投票率データ 読み込み確認";
run;
options validvarname=any;
/* 1. データの読み込み */
data work.raw_data;
/* encoding="utf-8" を指定して文字化けを防止 */
infile "touhyoritsu_w.csv" dsd dlm=',' truncover encoding="utf-8";
input
区市町村 : $40.
有権者_男 : comma12.
有権者_女 : comma12.
投票数_男 : comma12.
投票数_女 : comma12.
投票率_男
投票率_女
投票率_計
投票率_男_前回
投票率_女_前回
投票率_計_前回
;
/* 前後の空白(全角・半角)を削除して名前を正規化 */
区市町村 = strip(区市町村);
run;
/* 2. データの集約(72地域へ) */
proc summary data=work.raw_data nway;
class 区市町村;
var 有権者_男 有権者_女 投票数_男 投票数_女
投票率_男_前回 投票率_女_前回 投票率_計_前回;
output out=work.summed_data(drop=_type_ _freq_)
sum(有権者_男 有権者_女 投票数_男 投票数_女)=有権者_男 有権者_女 投票数_男 投票数_女
mean(投票率_男_前回 投票率_女_前回 投票率_計_前回)=投票率_男_前回 投票率_女_前回 投票率_計_前回;
run;
/* 3. 投票率の再計算 */
data work.final_data;
set work.summed_data;
if 有権者_男 > 0 then 投票率_男 = (投票数_男 / 有権者_男) * 100;
if 有権者_女 > 0 then 投票率_女 = (投票数_女 / 有権者_女) * 100;
total_voters = 有権者_男 + 有権者_女;
total_votes = 投票数_男 + 投票数_女;
if total_voters > 0 then 投票率_計 = (total_votes / total_voters) * 100;
format 有権者_男 有権者_女 投票数_男 投票数_女 comma12.
投票率_男 投票率_女 投票率_計 投票率_男_前回 投票率_女_前回 投票率_計_前回 8.2;
drop total_voters total_votes;
run;
/* 4. 結果の表示(念のためラベルを付与) */
proc print data=work.final_data;
title "集約後データ(全72地域)";
run;
/* 日本語変数名の許可 */
options validvarname=any;
/* 相関分析用に「有権者_合計」を作成 */
data work.analysis_data;
set work.final_data;
有権者_合計 = 有権者_男 + 有権者_女;
label 有権者_合計 = "有権者数(合計)";
run;
/* 1. 基本統計量の算出(平均、標準偏差、最小、最大) */
proc means data=work.analysis_data n mean std min max maxdec=2;
var 有権者_合計 投票率_男 投票率_女 投票率_計;
title "投票データ 基本統計量一覧(全72地域)";
run;
/* 2. 相関分析(有権者数と投票率の関係) */
/* RANKオプションで相関の強い順に表示、PLOTSで散布図行列を作成 */
proc corr data=work.analysis_data rank plots=matrix(histogram);
var 有権者_合計;
with 投票率_計;
title "有権者数と投票率の相関分析";
/* 日本語変数名を許可 */
options validvarname=any;
data work.turnout_comparison;
set work.final_data;
/* 今回と前回の差分を計算(ポイント増減) */
男_増減 = 投票率_男 - 投票率_男_前回;
女_増減 = 投票率_女 - 投票率_女_前回;
label 男_増減 = "男性増減(pt)"
女_増減 = "女性増減(pt)";
run;
/* 地域別の一覧表を出力 */
proc print data=work.turnout_comparison;
var 区市町村 投票率_男 投票率_男_前回 男_増減 投票率_女 投票率_女_前回 女_増減;
title "地域別 投票率比較(今回 vs 前回)";
run;
/* 結果をCSVファイルとして書き出し */
proc export data=work.turnout_comparison
outfile="turnout72_result.csv"
dbms=csv;
/* 増減の大きい順に並べ替えて表示(例:男性の増減順) */
proc sort data=work.turnout_comparison;
by descending 男_増減;
run;
proc print data=work.turnout_comparison(obs=10);
title "投票率が前回より大きく上昇した地域(上位10件)";
run;
/* 1. 描画用の最小・最大値を計算 */
data work.plot_ready;
set work.analysis_data;
rate_min = min(投票率_計, 投票率_計_前回);
rate_max = max(投票率_計, 投票率_計_前回);
run;
/* 2. グラフの作成 */
title1 "有権者数と投票率の変化(全72地域)";
title2 "垂直な線は前回からの増減を示す(下落した地域も表示)";
footnote1 j=r "Archives from 2026 Onward and Notes for the Future";
footnote2 j=r "2026年以降の記録 | https://ab.cocolog-nifty.com/note/";
/* グラフのサイズを指定(高さを600px、幅を600pxに設定して縦長にする) */
ods graphics / height=600px width=600px;
proc sgplot data=work.plot_ready;
/* 計算した最小・最大値を使って線を引く */
highlow x=有権者_合計 low=rate_min high=rate_max /
lineattrs=(color=gray80 thickness=1px)
nomissinggroup;
scatter x=有権者_合計 y=投票率_計_前回 /
markerattrs=(symbol=CircleFilled color=steelblue size=8px)
name="prev" legendlabel="前回";
scatter x=有権者_合計 y=投票率_計 /
markerattrs=(symbol=CircleFilled color=firebrick size=10px)
name="curr" legendlabel="今回";
xaxis type=log logbase=10 label="有権者数(合計・対数軸)" grid;
yaxis label="投票率 (%)" grid values=(45 to 70 by 5);
keylegend "prev" "curr" / location=outside position=bottom;
run;
title; footnote;
| 固定リンク
福岡市の場合、東区は1区と4区に、城南区は2区と3区に、南区は2区と5区とにそれぞれ投票区が分かれている。






> 政府は3日に閣議決定した答弁書で、先の衆院選で海外居住者が利用した「在外投票」の郵便投票のうち、投票締め切りまでに市町村の選挙管理委員会に届かなかった割合が小選挙区で27・7%、比例代表で27・9%に上ったと明らかにした。いずれも53件。2024年の衆院選や昨年の参院選に比べ、締め切りを超過した割合は増加した。
> 立憲民主党の石垣のり子参院議員は質問主意書で、衆院解散から投票日までの期間が戦後最短だったため、締め切りまでに届かず無効となったと指摘。答弁書では、有権者の手続きや郵送の遅れを挙げ「さまざまな理由が考えられ、一概に答えるのは困難だ」とした。
在外郵便投票27%締め切り超過 衆院選で海外居住者が利用(毎日新聞、2026年4月3日 23時45分 (共同通信))
| 固定リンク
調査データのクロス集計に関係するメモがあった。
SAS OnDemand for Academicsで実行してみた。
パソコンの中を捜して見つかったデータファイルが 、その姿を現した。
調査票を確認し、集計結果のフェイス・シートの部分などを覗いてみた。SASではなく、SPSSのTABLESというのを利用していたことも思い出した。(SASより前に使っていたSPSSでは、SAS OnDemand for Academicsのようなものはなく、2週間限定の試用版というものしかないようだ。)
SASのプログラム
DATA FC;
INPUT ROW $ COLUMN $ COUNT;
DATALINES;
1 1 12
1 2 32
2 1 45
2 2 45
3 1 56
3 2 34
;
PROC FREQ DATA=FC;
TABLES ROW*COLUMN /CHISQR;
WEIGHT COUNT;
RUN;
クロス集計をおこなった結果を吟味して、「カテゴリーの合併」(RE-CODE)が必要な場合に参考にしてください。素データからではなく、クロス集計結果からカイ2乗値等を計算します。もちろん、表も出力されます。データは、クロス統計表(カテゴリーの合併等を行った後のもの)の各マスの、行番号、列番号、度数を入力します。
表の出力において、以下のオプションを「/」の後に指定することができます。
NOPERCENT ←総数を100としたパーセントを出力しない
NOROW ←行パーセントを出力しない
NOCOL ←列パーセントを出力しない
プログラム例の中に出てくる「ROW」や「COLUMN」は、変数名であり、別のものに変えることができます。
DATAステップのINPUT文のあとに次の行を付け加えると、ageという変数に「-54」、「55-」という値が入ります。つまり、年齢が、55歳未満と55歳以上に再分類されます。この新しい変数ageをクロス集計等に用いることができます。
if f2 = '2' or f2 ='3' or f2 ='4' or f2 = '5' then age ='-54';
if f2 ='6' or f2 ='7' or f2 ='8' then age = '55-';
[追記]
「SASデータセット」がすでに存在する場合――DATAステップをすでに一度実行した場合――には、プログラムを変更した後にそのプログラムを保存し、再度SASを起動する必要があります(別の方法をとらない場合には)。
「クロス統計表の度数からカイ2乗値等を計算」の記事を参考にして、別のプログラムで表を作り直すこともできます。その場合は、自分で計算した度数をデータとして入力します。
プログラムの、実行させたくない部分は次の行で囲むとよい。
/*************************
**************************/
1番目を上に挿入し、2番目を下に挿入する。
/*************************
proc print data=データ名;
run;というように。
===================
単純集計は、次のように変数名をハイフンで省略して書くことができます。
proc freq data=データ名;
tables Q011-Q019| 固定リンク
地域レベルの得票傾向から見ると、統計的に正の相関が見られる場合は、それらの政党の支持層が重なっている可能性が高く、同一選挙区では票を奪い合う「競合関係」にあると推測できます。しかし、見方を変えれば「選挙協力」による一本化の効果が最も大きく現れる相手でもあり、共倒れを防ぐ戦略的メリットは無視できません。
一方で、支持基盤が全く異なる(負の相関がある)政党同士が安易に協力関係を結ぶと、互いの独自性(カラー)を打ち消し合い、有権者が離反するリスクを孕んでいます。今回の衆院選における立憲民主党と公明党の合流などは、そのミスマッチが生んだ混迷の象徴と言えるかもしれません。 立憲民主党の野田佳彦代表が、かつて、現在自民党と連立を組んでいる日本維新の会との選挙協力を模索していたことも思い出されます。
最初のヒートマップは、2025年の参議院議員選挙比例代表のデータで作成したものです。合流前なので、立憲民主党と公明党は別の政党として表示されています。両党の得票率の間に負の相関が見られることに注目してください。 興味深いのは、自公連立時において、自民党と公明党の得票率に有意な相関関係が見られなかったことです。 自公連立は「支持層が似ているから組んでいた」のではなく、「支持層が全く異なるからこそ、補完し合うために組んでいた」という極めて戦略的なものであったと考えられます。
| 固定リンク
a. 2024年衆議院議員選挙
b. 2026年衆議院議員選挙
c. 2つの選挙のデータを合併して分析
中道改革連合の分析
1. スイングの方向性
グラフのバーがすべて左側(マイナス方向)に伸びています。これは、「中道改革連合」の得票率が、2024年の「立憲+公明」の合算得票率と比較して、すべての(上位20)自治体で減少したことを示しています。
2. 減少幅の大きさ
特に上位の自治体(赤村、嘉麻市、田川市など)では、-20%(0.20)前後の非常に大きなマイナスのスイングが観測されています。
これは、単なる「微減」ではなく、勢力図が大きく塗り替わったことを示唆する数値です。
2024年時点では立憲や公明に投じられていた票が、2026年の選挙では別の受け皿へ分散、あるいは流出した可能性が高いと言えます。
3. 地域的な傾向
上位には「赤村」「嘉麻市」「田川市」「香春町」「添田町」といった、いわゆる筑豊エリア(福岡11区など)の自治体が目立ちます。
→ 「中道」は、衆議院公明党の後継政党でしかなかったようだ。(福岡11区についてとりあげている。)
4. 中道改革連合の市町村別得票率(上位30)
5. 政党別得票率の相関係数によるヒートマップ
中道改革連合は、「ど真ん中の中道」とか言わないで、れいわ新選組、社会民主党、日本共産党と選挙協力したならば、……
→ 中道改革連合と各党(国民・れいわ・社民・共産)との関係
以下解説を省略。
データの一部。
| 固定リンク
アクセル・ホネットの本からの引用が見つかった。5か月前に書いたもののようだ。「from:me」という書き方と日付の書き方を憶えておこうと思う。
ココログにも載せていた。
→ アクセル・ホネットからの引用Xでは「from:me」が使えなかった。
| 固定リンク
本稿では、2022年から2026年までの衆議院および参議院の比例代表投票について、福岡県内の区市町村別データを用いた対応分析の結果を比較する。
→ 2026年衆議院議員選挙福岡11区の対応分析(SAS OnDemand for Academicsによる)
→ MassとInertiaの相関図(衆議院議員選挙2026年福岡県の選挙データの対応分析)
→ 参院選2022年と2025年の比較
2026年衆議院議員選挙の比例代表投票の結果において注目されるのは、2024年の同選挙でも見られた傾向が再び確認された点である。すなわち、社会民主党と日本維新の会が、他の政党から相対的に離れた位置に配置されている。ただし、その方向は両者で異なっている。
このような配置は、参議院選挙の比例代表投票では必ずしも明確には現れない。対応分析が地域ごとの投票構造の差異を反映する手法であることを踏まえると、この違いは、小選挙区制のもとで形成される地域的分断の影響が、比例代表投票にも間接的に及んでいる可能性を示唆している。比例代表であっても、候補者中心の選挙運動や地域組織の影響を通じて、小選挙区的な構造が反映されると考えられるためである。
さらに、この傾向は福岡11区における動向とも無関係ではない可能性がある。同選挙区では自民党の武田良太氏の復活が見られたが、こうした選挙区レベルの力学が、比例代表投票の地域分布にも影響を与えていることが考えられる。
2026年衆議院議員選挙で特に興味深いのは、新党「中道改革連合」の配置である。同党は、立憲民主党と公明党の合流によって成立した政党であり、本来は広範な支持基盤を背景に、空間の中心に近い位置に現れることも想定される。
しかし実際の分析結果では、同党は第1軸への寄与度(Contribution)および、その位置づけの正確性を示すcos2(平方余弦)がともに高い値を示している。これは、得票規模(Mass)の大きさとは必ずしも一致しない形で、第1軸の形成において相対的に大きな役割を果たしていることを意味する。その結果、同党は空間上で特定の方向へ明確に位置づけられている。次のグラフは、Massと「平均からの乖離のインパクト」を示す慣性(Inertia)との関係を散布図で示したものである。
このことは、同党が全体に均質な支持を持つ「中心勢力」として機能したというよりも、特定の地域的特徴を反映した存在として現れている可能性を示している。すなわち、旧立憲民主党と旧公明党の支持基盤が完全には統合されず、地域ごとに異なる投票行動として現れた結果、空間上で一方向に偏った配置となったと解釈することができる。
西日本新聞の出口調査において、福岡11区の中道支持層の一部が自民党や日本維新の会へ流出したとされる結果は、このような「中心の収斂の弱さ」という見方と整合的である。
このように、中心が十分に形成されない状況のもとでは、比例代表投票においても、社会民主党や日本維新の会が相対的に外側に位置づけられることになる。ただし、その意味は一様ではない。社会民主党のように一貫した立場を維持する政党が外側に位置する場合、それは政治空間の対立軸を明確にする機能を持つと考えられる。一方で、他の政党については異なる要因によって同様の配置が生じている可能性もある。
選挙制度との関係でいえば、社会民主党および日本維新の会が他党から離れて配置される現象は、福岡11区の市町村がその近傍に位置していることと対応している。この点は、比例代表投票であっても、地域的な固有性が政党配置に影響を及ぼしている可能性を示唆している。
取りあげた2つの参議院議員選挙のデータを併合して対応分析をおこなうと次のようなグラフが作成される。22は2022年を25は2025年を意味している。
以上の比較から、衆議院選挙と参議院選挙のあいだには、比例代表投票の空間構造においても明確な差異が存在することが確認される。この差異は、選挙制度の違いを通じて生じる地域的分断の強さの違いとして理解することができる。
次の2つのグラフのもとになった計算は、FactoMineRを利用した。
以下のグラフでは、上下が反転している。Greenacreのcaパッケージを計算に利用した。
| 固定リンク