علیرضا کاشانی
علیرضا کاشانی
خواندن ۳ دقیقه·۴ ماه پیش

مدل ریاضی برای بررسی تغییرات آرای دو دوره ی انتخابی ۱۴۰۳ در دوضرب

در این گزارش به تحلیل و مدل سازی انتخابات ۱۴۰۳ که در دو مرحله برگزار شد، می پردازیم. در مرحله اول، چهار نامزد به رقابت پرداختند و دو نامزد با بیشترین آرا به مرحله دوم راه یافتند. بررسی توزیع مجدد آرا و رفتار رأی‌دهندگان، همراه با ورود رای دهندگان سوالاتی رو به وجود آورد که در زیر میشه خیلی راحت با این مدل ریاضی پاسخ داد

۱) چند درصد از آرای ملتی که دور دوم رفتند رای دادند به پای اقای پزشکیان رفت

۲) چند درصد ملت قالیبافی به آقای جلیلی رای دادند.

۳) در نهایت اگه قالیباف در مرحله ی اول حضور نداشت آیا جلیلی میتونست پیروز میدان باشه


فرضیات سخت

  • اعداد گزارشی صحیح هستند. تو مقاله ی قبلی (https://virgool.io/d/oaa2y6tkzc58/edit) در مورد چالش استخراج اعداد از تصویر صحبت کردم. داده های دور اول از تسنیم و اقتصاد نیوز میاد و دور دوم رو از الف و اعتماد گرفتم.
  • تمام ملتی که به پورمحمدی رای دادند به اقای پزشکیان رای دادن
  • احتمال اینکه ملت دور دوم به پزشکیان رای دادند خیلی بیشتر از اینکه به جلیلی رای دادند.


ضرب اول

تعداد رای دهنده هایی که در دور دوم اضافه شدند V_{new}

تعداد رای های انتقالی از پور محمدی و قالیباف V_{redistribute}


مدل ریاضی

مقدار اضافه شده (Gain) به رای پزشکیان در مرحله ی دوم برابر است با مجموع تمام رای ها پورمحمدی از دور یک، همراه با درصدی از رایِ رای دهنده های جدیدِ دور دوم. احتمال اینکه رای دهنده ی جدید به پزشکیان رای بده pA و احتمال اینکه به جلیلی رای بده معکوسش. تصویر زیر مدل افزایش رایِ هرکدومشون رو نشون میده.

مدل ریاضی برای تخمین افزایش رای پزشکیان و جلیلی
مدل ریاضی برای تخمین افزایش رای پزشکیان و جلیلی

از اونطرف ما مقدار دقیق هر کدوم از این افزایش رای ها رو داریم و هدفون حل این معادله برا پیدا کردن ضریب های pA و pB است. برای یادآوری، pA احتمالِ اینکه، رای دهنده ی اضافه شده، رایِ شو به پزشکیان بده و pB احتمال اینکه یک قالیبافی تو دور دوم به پزشکیان رای بده.

حل معادله دو مجهولی با استفاده از روش حداقل مربعات (Least (Square

ما این معادله رو برای هر حوزه ی انتخابی به صورت مجزا با استفاده از scipy.optimize حل میکنیم.

کد پایتون برای حل معادله ی دو مجهول به روش least square
کد پایتون برای حل معادله ی دو مجهول به روش least square

تهران

تعداد آرای اضافه شده در دور دوم :‌ 746762

تعداد آرای قالیباف :‌ 673673

تعداد آرای پورمحمدی : 35582

افزایش آرای پزشکیان در دور دوم : 847672

افزایش آرای جلیلی در دور دوم :‌ 608345

جواب :‌ pB: 0.196 pA: 0.911

یعنی چی ؟ ۹۱٪ آدم هایی که در دور دوم اضافه شدن رایشون رو به اقای پزشکیان دادند و ۸۰٪ قالیبافیان به اقای جلیلی رای دادند و ۲۰٪ رایشون رو به سمت پزشکیان عوض کردند.تفاوت افزایش رای پیشبینی شده توسط مدل و مقدار واقعی افزایش رای بسیار بسیار ناچیزه (تا حدی دلیل بر کیفیت مدله ولی هیچ مدل ریاضی عالی نیست).

ضربِ دوم

مقدار pB همون مقادرِ شکست رای که اقایِ قالیباف موجب شده. حالا که ضریب رو داریم میتونیم برگردیم به دورِ اول و بگیم اگه قالیباف نبود، چقدر رای میرفت به سمت جلیلی و چقدر به سمت پزشکیان. طبق مدل تو تهران اگه قالیباف نبود ۸۰٪ رایش میرفت برای جلیلی و جلیلی با ۱.۷ ملیون رای اول تهران می شد و ۲۰٪ برای پزشکیان و پزشکیان ۱.۴۸ ملیون رای دوم میشد.

در کل، تو دورِ اول، با حسابِ وجود سه کاندیدای پورمحمدی و پزشکیان و جلیلی، جلیلی با ۱۲ ملیون و ۳۸۸ هزار و پزشکیان ۱۰ ملیون ۸۸۳ هزار کاندیدای دوم میشد و خیلی ناپلیونی امکان ریاست جمهوری رو هم داشت.

در زیر هم تمام مقادیر ضرایب برای هر استان.

مقادیر pA و pB برای هر استان
مقادیر pA و pB برای هر استان

داده ها و مدل گوگل شیت

اینجا می تونید هم به داده های خام دسترسی پیدا کنید هم ضرایبِ بدست امده و بقیه ی موارد.

https://docs.google.com/spreadsheets/d/10la7VEc45blwfiuyJ_7DkrlEKtdsqUT-u-bt9qMq-3w/edit?usp=sharing




ریاست جمهوریپزشکیانجلیلی رایریاضیهوش مصنوعی
شاید از این پست‌ها خوشتان بیاید