چرخ‌طیار و R² بالای ۰٫۹۹۹ — وقتی خط عالی می‌نشیند و جواب غلط است

این از کجا آمده

در ۱۹۷۳ آماردانی به نام فرانسیس انسکوم چهار مجموعه‌داده منتشر کرد که همهٔ عددهای خلاصه‌شان یکی بود: یک میانگین، یک واریانس، یک خطِ رگرسیون، یک R². بعد هر چهارتا را رسم کرد. یکی خطِ راست بود، یکی یک منحنیِ تمیز، یکی یک خطِ بی‌عیب با یک نقطهٔ پرت، و یکی اصلاً شکلِ دیگری داشت. مقاله‌اش اسمِ ساده‌ای داشت — «نمودار در تحلیلِ آماری» — و یک حرف داشت: حالا که کامپیوتر آمده و گرفتنِ این عددها ارزان شده، آدم‌ها دیگر به دادهٔ خودشان نگاه نمی‌کنند. این صفحه همان حرف است، با یک چرخ‌طیار.

پس‌زمینهٔ نظری

یک چرخِ سنگین روی یک محورِ نازک به شعاعِ r می‌چرخد. نخی دورِ محور پیچیده و وزنه‌ای به جرمِ m از آن آویزان است. وزنه را رها می‌کنی، ارتفاعِ h را می‌افتد و در این مدت چرخ را می‌چرخاند. اگر اصطکاک نباشد، نیوتن برای وزنه و برای چرخ می‌دهد: a = m·g / (m + I/r²). یعنی چرخ دقیقاً مثل یک جرمِ اضافیِ I/r² عمل می‌کند که به نخ بسته شده باشد.

شتاب را مستقیم اندازه نمی‌گیری؛ زمانِ سقوط را می‌گیری و a = 2h/t² حساب می‌کنی. حالا رابطه را وارونه کن تا خطی شود:

1/a = 1/g + ( I / (g·r²) ) · (1/m)

این همان دستورِ کتابِ آزمایشگاه است: t²/2h را در برابرِ 1/m رسم کن، یک خط بکش، و شیب را بردار. I = شیب · g · r². عرض از مبدأ هم باید 1/g باشد — یعنی این برازش دو عدد به تو می‌دهد، نه یکی.

یک چیز در این حساب نیست: یاتاقان اصطکاک دارد. اصطکاک یک گشتاورِ تقریباً ثابتِ τ است، پس رابطه در واقع a = (m·g − τ/r) / (m + I/r²) است. این دیگر بر حسبِ 1/m خطی نیست. ولی نزدیکِ خطی هست — و «نزدیکِ خطی» همان چیزی است که یک خطِ راست با کمالِ میل می‌پوشانَد.

۱. چیدمان

یک چرخ‌طیارِ فولادی روی یاتاقان، محوری به شعاعِ معلوم، و یک نخ که دورش پیچیده می‌شود. وزنه‌ها از ۲۰ تا ۲۰۰ گرم‌اند. ارتفاعِ سقوط با دو نشانگر روی پایه مشخص شده و زمان را یک تایمرِ نوری می‌گیرد، نه دستِ تو — پس خطای واکنش نداری و تا میلی‌ثانیه می‌خوانی.

یک جعبهٔ وزنه‌های خیلی ریز هم هست، از ۰٫۰۵ گرم به بالا. با آن می‌توانی آزمونِ دیگری بکنی: چرخ را با دست راه بینداز و ببین کم‌ترین وزنه‌ای که می‌گذارد چرخ با سرعتِ ثابت بچرخد چقدر است. هیچ‌کس نگفته این را لازم داری.

چرخ و محور به مقیاس نیستند؛ ارتفاعِ سقوط هست.

—
هنوز چیزی اندازه گرفته نشده
یک وزنه انتخاب کن و رهایش کن.

تایمر تا میلی‌ثانیه می‌خواند، ولی پیچیدنِ نخ هر بار کمی فرق می‌کند. چند بار تکرار کن.

۲. جدول خوانش‌ها

۳. محاسبه

برای هر وزنه میانگین گرفته می‌شود و دو ستونِ برازش ساخته می‌شود: 1/m و t²/2h. بعد یک خط از میانشان می‌گذرد. ستونِ باقی‌مانده فاصلهٔ هر نقطه تا آن خط است — چیزی که در گزارشِ هیچ‌کس نوشته نمی‌شود.

به علامتِ باقی‌مانده‌ها نگاه کن، نه به بزرگی‌شان. اگر مدل درست باشد، علامت‌ها باید مثلِ شیر یا خط پشتِ هم بیایند. اگر همه‌شان یک الگوی مرتب بسازند — چند تا مثبت، بعد چند تا منفی، بعد دوباره مثبت — آن دیگر نوفه نیست، یک شکل است، و شکل یعنی خطِ راست جوابِ این داده نبوده.

R² برازش:—
علامتِ باقی‌مانده‌ها (از چپ):—
بزرگ‌ترین باقی‌مانده:—
پراکندگیِ خودِ تو (از تکرارها):—
شیب:—
g از عرض از مبدأ:—
I از شیب (دستورِ کتاب):—
I نقطه‌به‌نقطه:—
روندِ I با تغییرِ وزنه:—
وزنهٔ آستانهٔ اصطکاک:—
جوابِ نهاییِ تو برای گشتاورِ لختی: —

۴. تحلیل با Python

داده‌های تو در trials_data هستند: یک دیکشنری با g، h (ارتفاعِ سقوط بر حسب متر)، r (شعاعِ محور بر حسب متر)، rider_g (وزنهٔ آستانه، یا null) و rows. هر سطر label (جرم بر حسب گرم) و t (زمانِ سقوط بر حسب ثانیه) دارد.

صفحه به تو یک R² داد و تو نمی‌دانی این عدد خوب است یا بد، چون هیچ‌کس هرگز نگفته با چه چیزی مقایسه‌اش کنی. کدِ آماده همان مقایسه را می‌سازد: چهار هزار مجموعه‌دادهٔ ساختگی که از روی ساخت روی یک خطِ راست‌اند و دقیقاً به‌اندازهٔ دادهٔ تو نوفه دارند. بعد R²ی تو را در میانِ آن‌ها می‌گذارد. بعد همین کار را با یک آمارهٔ دیگر تکرار می‌کند که مخصوصِ دیدنِ خمیدگی است. و آخرش نشان می‌دهد که همین دادهٔ دست‌نخورده، اگر به مدلِ درست برازش شود، گشتاورِ اصطکاک را هم به تو می‌دهد — چیزی که فکر می‌کردی باید جداگانه اندازه بگیری.

Pyodide هنوز لود نشده
خروجی پایتون اینجا می‌آید

۵. افشای مقدار واقعی

وقتی روی یک جواب ایستادی، این را بزن.