زمانی که می خواهید مهارتهای خود را به عنوان یک دانشمند داده توسعه دهید قسمتهای اساسی آن را باید در اولویت قرار دهید: آمار، جبر خطی و برنامه نویسی
Statistical Inference
- جهانی که در آن زندگی می کنیم یک جهان پیچیده، تصادفی و غیرمطمئن است که در عین حال یک ماشین بزرگ تولید داده نیز هست.
- هر کاری که در این جهان انجام می شود منجر به تولید داده می شود. از حرکت خون در رگها گرفته تا خرید کالا از فروشگاه
- داده ها ارائه کننده ردپاهایی از فرایندها در جهان واقعی می باشند. اینکه کدام داده ها جمع آوری شود را، روش نمونه گیری و اهداف جمع کننده داده مشخص می کند.
- وظیفه یک دانشمند داده تبدیل جهان به داده است و این یک فرایند ذهنی (subjective) است و نه یک فرایند عینی (objective)
- بعد از جداکردن فرایند از جمع آوری داده می بینیم که دو منبع عدم قطعیت بوجود می آید یکی عدم قطعیت ناشی از خود فرایند و دیگری عدم قطعیت ناشی از روشهای جمع آوری داده. با داشتن همه این داده ها (خود داده و عدم قطعیتهایش) درست است که شما جهان را در قالب داده ذخیره کرده اید اما هنوز امکان فهم جهان و فرایند مربوطه را ندارید و باید این خیل عظیم داده را بسیار خلاصه تر و جامعتر کنید و اینجاست که نیازمند مدلهای ریاضی و توابعی روی داده خواهید شد که به آنها تخمینگرهای آماری می گویند.
- فرایند تبدیل جهان به داده و سپس تبدیل داده به جهان موضوع آمار استباطی (statistical inference) است.
- به صورت خلاصه آمار استنباطی رشته ای است که تمرکزش را روی خلق تئوریها و روشهایی قرار داده که به ما اجازه استخراج معنی از داده های تولید شده بوسیله فرایندهای تصادفی را می دهد.
- در آمار کلاسیک بین جمعیت (population) و نمونه (sample) تفاوت است. جمعیت به کل اعضای یک جامعه اطلاق می شود و نمونه به تعدادی از اعضای این جامعه. برای نشان دادن تعداد جمعیت جامعه از N و برای نشان داده تعداد نمونه گرفته شده از جامعه از n استفاده می شود. در آمار استنباطی، نمونه برای این گرفته می شود که درباره جمعیت استنباطی صورت پذیرد. برای انتخاب نمونه از جامعه روشهای مختلفی وجود دارد که بایستی برای استنباط درست روش مناسب انتخاب شود تا نمونه گرفته شده اریب (bias) نباشد و واقعا نماینده جامعه باشد.
- سوالی که ممکن است مطرح شود اینست که امروز با وجود تکنولوژی های Big Data مانند Hadoop که می توانیم همه رکوردها را ذخیره و پردازش کنیم آیا بازهم نمونه گیری مطرح می شود؟ جواب: بله نمونه گیری بسیاری از مشکلات مهندسی ناشی از پردازش همه داده ها را برطرف می کند. در گوگل همیشه به جای پردازش کل داده ها نمونه گیری انجام شود. واقعا نیازی به نگهداری همه داده ها نیست (البته اگر هدفتان استنتاج باشد). از طرف دیگر به عنوان مثال اگر به همه داده های گوگل و توییتر هم دسترسی داشته باشید با پردازش همه آنها باز هم نمی توان نتیجه گیری کلی روی جامعه کرد و باز هم احتمال اریب بودن هست.
- در آمار معمولا رابطه بین جمعیت و نمونه بوسیله یک فرایند ریاضی مدل می شود. اگر همه ایمیل ها را به عنوان جمعیت درنظر بگیرید و از میان آنها یک نمونه به صورت تصادفی انتخاب کنید و سپس فرایند نمونه گیری شما به جای این نمونه یک نمونه خاص بسازد و مجددا فرایند نمونه گیری را روی جمعیت انجام دهید منجر به گرفتن یک نمونه متفاوت می شوذ. عدم قطعیت ایجاد شده بوسیله چنین فرایند نمونه گیری را توزیع نمونه گیری (sampling distribution) می نامند.
- در مدلسازی همیشه بین دقت و سادگی باید تعادلی ایجاد کنید. ابتدا مدل را به صورت ساده طراحی کنید و به مرور به دقت آن بیافزایید. معمولا یک مدل ساده که بوجود آوردن آن چند ساعت طول می کشد 90% آنچه را می خواهید نشان می دهد و تلاش روی دقیق کردن آن که ممکن است ماهها به طول بیانجامد ان را به 92% می رساند. در این کتاب مدلهای بالقوه آماری به شما نشان داده خواهند شد. بلوکهای سازنده این مدلها توزیع های احتمال (probability distributions) هستند.
- توزیعهای احتمال اساس مدلهای اماری هستند. زمانی که وارد مباحث رگرسیون خطی و نایو بیز شوید آن را در عمل خواهید دید.
- Fitting کردن یک مدن یعنی برآورد کردن پارامترهای ان با استفاده از داده های مشاهده شده.یعنی از داده های مشاهده شده به عنوان شاهدی برای تخمین فرایند ریاضی در جهان واقعی که منجر به تولید این داده ها شده است استفاده می کنیم.
- برای Fitting معمولا از روشها و الگوریتمهای بهینه سازی مانند maximum likelihood estimation استفاده می شود.
- در حقیقت زمانی که پارامترها را تخمین می زنید به آنها تخمینگر (estimator) گفته می شود چون توابعی روی داده های مشاهده شده هستند.