علوم داده (Data Science) مجموعهای از دانش، مهارت، ابزار و روش برای استخراج الگوهای ناآشکار و مفید از دادههاست [1]. این مجموعه علی رغم ظاهر پیچیده و پرطمطراقش ماهیتی بسیار ساده دارد و معمولا برای دست یافتن به اهداف زیر به کار گرفته میشود.
- درک درست از وضعیت کنونی
- پی بردن به عوامل رخدادها و رفتارها
- پیشبینی اوضاع آینده
مولفههای اصلی
فعالیت علوم داده در کسب و کار و بسیاری حوزههای دیگر مانند پروژههای تحقیقاتی را میتوان در سه مولفۀ زیر دنبال کرد [2] :
- شناخت و تحلیل موضوع (Domain expertise)
- تحلیل داده (Data Analysis)
- مهندسی داده (Data Engineering)
در ادامه هر یک از این مولفهها به اختصار معرفی خواهند شد. در مطالب دیگر خواهیم دید چگونه با فعالیت این مولفهها در کنار یکدیگر رسیدن به اهداف علوم داده و به کارگیری موثر آن میسّر خواهد شد.
شناخت و تحلیل موضوع (فهم دادهها)
علوم داده اگرچه به پیشقراولان پروژههای تجاری و پژوهشی کمکهای شایانی میکند، اما معمولاً خودش پیشقراول آن پروژهها نیست، چون نمیتواند برای تعریف آنها خودش یکتنه پا پیش بگذارد. علومِ داده در تعامل با دیگر تخصصها امکان بروزِ موثرِ قابلیتهایش را پیدا میکند. به همین دلیل، شناخت موضوع و توانایی تحلیل اثرگذاری اجزای آن بر یکدیگر، همیشه یک رکن اصلی در پروژههای علوم داده است. فهم دادهها در تعریف و توسعۀ پروژههای علوم داده از بیشترین اولویت برخوردار است.
کسی که نقش فرد آشنا به موضوع را در تیمهای علوم داده ایفا میکند باید علاوه بر آشنایی با فوت و فن پردازش و تحلیل داده، شناخت مناسبی از کسب و کار یا هر زمینۀ دیگری که در آن مشغول به فعالیت است داشته باشد تا بتواند پرسشهایی اساسی و سودمند در آن محدوده مطرح کند؛ پرسشهایی که با استفاده از قابلیتهای تحلیلی و پردازشی و با اتکا به دادهها باید به آنها پاسخ داد.
کنجکاوی، جستجوگری، داشتن نگاه انتقادی، علاقه به مطالعه و تحقیق از ویژگیهای کسانی است که با این عنوان زیر چتر علوم داده فعالیت میکنند و به ایفای نقشهایی مانند تحلیل کسب و کار و تعریف مسائل تحلیل داده در زمینۀ خود گرایش دارند. کسی که در این حوزه فعالیت میکند با تفکر سیستمی آشناست و توانایی طراحی مدلهای مفهومی مناسب برای ارائه صورتبندی کارآمد و راهگشا از مسائل را دارد.
به عنوان نمونه، در یک کسبوکار، یک متخصصِ آشنا به موضوع باید مسئلۀ تحلیلِ دادهای تعریف کند که بیشترین تاثیر را در کسب و کار داشته باشد و در عین حال به کار بستنِ نتایج آن با توجه به قابلیتهای موجود در آن کسبوکار، امکانپذیر باشد.
مهندسی داده
برای بهرهبرداری تحلیلی از دادهها قبل از هر چیزی باید ابتدا دادهها را فراهم کرد تا تحلیل آغاز شود. دادهها معمولاً به یکی از سه صورت زیر تهیه میشوند.
- منابع بیرونی مانند وبسایتها در قالب فایل یا به صورت گردآوری مجموعهای از مقادیر
- منابع درونسازمانی مانند استخراج داده از پایگاه دادههای تراکنشهای یک سازمان
- گردآوری داده در فرایندی از پیش طراحیشده مانند استفاده از پرسشنامه در پروژههای افکارسنجی
داده از هر یک از منابع بالا فراهم شود، پرسشهایی درباره چگونگی نگهداری و مدیریت آن به وجود میآید که باید پیش از شروع پروژههای تحلیل داده به آنها پاسخ داد تا زیرساخت مناسبی برای پردازش و تحلیل دادهها فراهم شود. برخی از این پرسشها عبارتاند از:
- چه ساز و کاری برای ذخیره و نگهداری دادهها در پیش بگیریم تا دسترسی به بخشهای مورد نیاز آن ساده و سریع باشد و با گذر زمان و ازدیاد فایلها کارایی خود را از دست ندهد؟
- دادهها را در چه ساختاری سازماندهی کنیم تا آمادگی بیشتری برای پردازش و تحلیل داشته باشند؟
- آیا دادههای گردآوری شده دقیقاً همانی هستند که باید باشند؟ آیا چیزی هنگام جابجایی دادهها گم نشده؟ کیفیت دادهها برای تعریف پروژههای تحلیلی چگونه ارزیابی میشود؟
- مطمئنترین و در عین حال کمدردسرترین راه حل برای بهروزرسانی دادهها چیست؟
- از چه راهکاری استفاده کنیم تا تحلیلگران گوناگون بتوانند بدون تکثیر و جابجایی دادهها به آنها دسترسی پیدا کنند؟
- آیا امکان بهبود زمانی که طول میکشد تا سامانه خروجی مورد نظر را ارائه کند وجود دارد؟
- در صورت بزرگ بودن دادهها یا حجیم بودن محاسبات مورد نیاز در الگوریتمها چه روشهایی میتوان به کار برد تا پردازش دادهها با سختافزار موجود کماکان امکانپذیر باشد؟
مهندس داده کسی است که برای پاسخ به پرسشهای بالا ایدههای زیادی دارد و زمان خود را برای پیادهسازی آنها صرف میکند. کسی که به عنوان مهندس داده زیر چتر علوم داده فعالیت میکند فردی دقیق و باحوصله است، شخصیتی حمایتگر دارد، نسبت به جزئیات حساسیت نشان میدهد و عملکرد درست چیزها برایش مهم است. مهندس داده از شهود مناسبی برای مواجهه با مسائل رایج در «علوم کامپیوتر» مانند تحلیل پیچیدگی محاسباتی الگوریتمها از نظر حافظه و زمانی که برای اجرا نیاز دارند برخوردار است. مهندس داده تمامی امکانات و روشهای پردازشی را با هدف مدیریت کارآمد دادهها به منظور بهرهبرداری تحلیلی از آنها به کار میگیرد.
تحلیل داده
کار تحلیلگر داده معمولاً وقتی مسئله تعریف و دادهها فراهم شد، آغاز میشود. در اینجا عبارت «تحلیل داده» را به وسیعترین معنای آن استفاده میکنیم؛ به صورتی که مصورسازی دادهها، تحلیل اکتشافی، استنتاج آماری، دادهکاوی، یادگیری ماشین، بهینهسازی و سایر روشهای کمّی را در بر بگیرد.
خروجی کار تحلیل داده میتواند یکی از سه مورد زیر باشد:
- دادۀ پالایششده
- گزارههای ارزشمند که معمولاً با مجموعهای از محاسبات، جداول، نمودارها و توضیحات پشتیبانی میشوند
- برنامه کامپیوتری و الگوریتم
هر چه حضورِ «الگوریتم» و «برنامهسازی کامپیوتری» در خروجیها پررنگتر باشد، به ترتیب، استفاده از ادبیات «دادهکاوی» و «یادگیریِ ماشین» موضوعیت بیشتری برای توصیف آن پیدا میکند. البته واژگان دیگری مانند «یادگیری آماری» نیز برای انجام عملیات مشابه پیشنهاد شده است. آنچه بیش از هر چیز، دادهکاوی و یادگیری ماشین را در دستور کار قرار میدهد وجودِ انگیزه برای کاهش نقش عامل انسانی در تحلیل و خودکارسازیِ تحلیل است.
این واژگان در عین ارتباط گسترده، تفاوتهای ظریفی نیز با یکدیگر دارند که مستقلا در جای دیگر مورد بحث قرار خواهند گرفت. در این نوشته منظور از «تحلیل داده»، کلیتی است که روشها و رویکردهای یادشده را در بر بگیرد و در کنار مدیریت داده از یک طرف و شناخت موضوع و زمینه از طرف دیگر، حوزهای بزرگتر به نام «علوم داده» را تشکیل دهد.
شمارش در آمار نقشی محوری بر عهده دارد (در زبان فارسی نیز واژهای که برای اشاره به این حوزه استفاده شده از ریشهای در زبان پهلوی به معنای شمارش گرفته شده است). در میانه قرن بیستم محاسبات کامپیوتری پا به عرصه وجود گذاشت. چند سال پس از پیدایش این شمارشگرِ برتر، آمار نیز دستخوش تحولی عمیق شد. روشهای محاسباتی جانی تازه گرفتند و تعدادی از آماردانان عنوانِ «تحلیل داده» را برای اشاره به حوزهای نوظهور پیشنهاد کردند[3]. این پیشنهاد مورد توجه جوامعِ علمی نیز واقع شد اما هیچگاه مانند «علوم داده» در اوایل قرن 21 با استقبال گسترده مواجه نشد[4].
آنچه در این نیمقرن به کلی تغییر کرده بود رشد چشمگیر توان پردازش کامپیوتر، استفاده گسترده و فراگیر از آن و حضور پررنگ دادههای دیجیتال در زندگی بشر بود. «علوم داده» تنها زمانی انداموارگی پیدا کرد و مقبولیت یافت که آمار و تحلیل داده در کنار توان بالای ذخیرهسازی و پردازش الکترونیکی دادهها قرار گرفت. به همین دلیل، چندان بیراه نخواهد بود اگر علوم داده را بیش از هر چیز فرزند آمار و علوم کامپیوتر میدانند.
به عنوان نمونۀ دیگری از تاثیر پیشرفتِ پردازش الکترونیکی بر تحولات علوم داده میتوان به روش «شبکههای عصبی مصنوعی» اشاره کرد. این روش از محبوبترین روشهای یادگیری ماشین و علوم داده است که برای نخستین بار در میانه قرن بیستم معرفی شد[5]. اما استفاده از آن تنها زمانی محبوبیت یافت که توان پردازش کامپیوتر افزایش یافت و امکان پیادهسازی آن روی دادههای بزرگ فراهم شد. تاثیر افزایش قدرت پردازش در شبکههای عصبی آنچنان عمیق بود که خود به انقلابی در این روش بدل شد و آن را با اسم و رسم جدیدِ «یادگیری عمیق» روانۀ بازار کرد.
شاید اکنون این سوال مطرح شود که چه نیازی هست که از یک نام جدید برای اشاره به علوم داده استفاده کنیم؟ چرا به استفاده از آمار و علوم کامپیوتر بسنده نکنیم؟ آیا از کنار هم قرار گرفتن این دو کنار یکدیگر موجودیت یا هویتِ جدیدی حاصل میشود؟
با توجه به تاثیر متقابلی که آمار، علوم کامپیوتر و دانشهای موضوعیِ حوزههای کاربرد آن بر یکدیگر داشتهاند، به نظر میرسد آنچه به عنوان علوم داده شناخته میشود، بیش از هر چیز، نتیجۀ تعامل و همافزایی این سه مولفه است. بسیاری از روشهای آماری هستند که بدون استفاده از ایدههای پردازشی مانند پردازش موازی و دانش بهینهسازی الگوریتم در عمل قابل اجرا نیستند. پردازش و تحلیل دادهها، زمینههای کاربرد را از امکانات جدید حل مسئله آگاه میکند. این آگاهی منجر به حل مسائل جدید و همافزایی بیشتر میشود.
اینکه علوم داده چقدر موجودیتی متمایز دارد نیازمند گذر بیشتر زمان است. آنچه در حال حاضر میتوان با اطمینان گفت این است که هویت متمایزی از مجموعهای از علوم و فنون که با هدفِ بهرهبرداری تحلیلی از دادهها به کار گرفته میشود قابل شناسایی است. به همین دلیل، شاید بهتر باشد برای نامگذاری آن در زبان فارسی از اسم جمعِ «علوم داده» استفاده شود تا اسم مفرد «علمِ داده»؛ همچنان که در زبان فارسی از مجموعهای از علوم و فنون که با موضوع کامپیوتر سر و کار دارند با عنوان «علوم کامپیوتر» یاد میشود نه «علم کامپیوتر» [6].
اگر به مطالعه درباره وضعیت کنونی علوم داده و تاثیر آن فرایند رسمی تولید دانش در علوم تجربی و سناریوهای محتمل دربارۀ آینده آن علاقهمندید به «تحقیقات علمی و دادههای بزرگ» در مدرسه پردازش و تحلیل داده دقیقه مراجعه کنید.
«تحلیل داده» را به انواع گوناگون تقسیم میکنند. اگر تعامل با دیگر مولفههای اصلی در علوم داده یعنی مهندسی پردازش داده و شناخت موضوع را مبنا قرار دهیم، تحلیل داده را میتوان به سه نوع تقسیم کرد [7].
- پیشپردازش و کیفیتسنجی (Initial Data Analysis)
- تحلیل اکتشافی دادهها (Exploratory Data Analysis)
- تحلیل استنتاجی دادهها (Confirmatory Data Analysis)
پیشپردازش و کیفیتسنجی (IDA) معمولاً با اتکا بر مهارتهای رایج در مهندسی داده یا در تعامل با مهندسین داده انجام میشود و هدف آن آمادهسازی داده و اطمینان از درستی و سازگاری آن است. با توجه به اینکه این نوع تحلیل باید همیشه در ابتدا انجام شود به آن تحلیل اولیه یا تحلیل مقدماتی نیز میگویند.
در تحلیل اکتشافی دادهها (EDA)، فرضیهای از پیش تعیینشده از سوی تحلیلگران کسبوکار به تحلیلگر داده جهت بررسی داده نمیشود. در تحلیل اکتشافی، تحلیلگر با دانشی اولیه درباره موضوع و تعامل با متخصصین آن، به کشف و شهود در دادهها میپردازد. خروجی کار تحلیل اکتشافی معمولاً از جنس فرضیه، سرِنخ و ایده است.
در بسیاری موارد ممکن است نتایج بدست آمده از تحلیلهای اکتشافی، چندان محکم و قابل اتکا نباشد. نتیجه تعامل تحلیل اکتشافی و شناخت موضوع، برای ارزیابی و تثبیت (CDA) مورد تحلیل استنتاجی قرار میگیرد. فرضیهها پیش از آنکه مورد استفاده قرار بگیرند، باید آزمون شوند. تنها فرضیهای میتواند مورد استفاده قرار گیرد که در آزمونهای متعدد رد نشود.
آنچه تحت عنوان «تحلیل حساسیت» میشناسیم معمولا با همین انگیزه انجام شود. وقتی در یک فرایند تحلیلی به مدلی میرسیم که تعدادی ورودی و خروجی دارد، تنها به قابل دفاع بودن مراحل تحلیل بسنده نمیکنیم، بلکه با تغییر مقدارهای ورودی و محاسبه خروجی متناسب با آنها، حساسیت خروجی را نسبت به تغییرات ورودی میسنجیم تا در نهایت به یک صورتبندی قابل اتکا از از ارتباط ورودی و خروجی برسیم و از میزان عدمِ قطعیتِ موجود در اطلاعاتِ بدستآمده آگاه باشیم.
در تقسیمبندی انواع تحلیل داده از پسوندهای دیگری نیز مانند پیشبینی (predictive)، تشخیص (diagnostic) و تجویزی (prescriptive) استفاده میشود. اما آنها نیز در عمل از مراحل سهگانه فوق بیرون نیستند.
در تحلیلهای متمرکز بر پیشبینی و تشخیص، متغیرِ هدف توسط متخصص آشنا به موضوع مانند تحلیلگر کسبوکار انتخاب میشود تا از سودمند بودن آن اطمینان حاصل شود، متغیرهای موثر و روش پیشبینی طی تعامل تخصص مرتبط با موضوع و تحلیل اکتشافی انتخاب میشود و در تحلیل استنتاجی مورد ارزیابی قرار میگیرد. در تحلیلی که با هدف سیاستگذاری انجام میشود نیز سناریوهای مختلف با روشهایی مانند شبیهسازی کامپیوتری مورد ارزیابی و استنتاج قرار میگیرند.
ویژگیهای کسی که به عنوان تحلیلگر داده فعالیت میکند بسیار شبیه به کسی است به عنوان تحلیلگر موضوع یا کسبوکار فعالیت میکند. با این تفاوت که تحلیلگر داده به کمّی کردن مسائل و سر در آوردن از پیچیدگی و ابهام علاقهمند است. کسی که نقش تحلیلگر داده را ایفا میکند میانهاش با اعداد خوب است و نسبت به کوچکی و بزرگی اعداد در زمینههای مختلف توانایی استدلال و تشخیص دارد. تحلیلگر داده با تفکر الگوریتمی آشناست و توانایی تدوین استراتژی برای حل مسئله را دارد. یک ویژگی شخصیتی دیگر تحلیلگر داده این است که نباید با گفتن «نمیدانم» احساس کمبود کند یا شرمنده شود. در بسیاری موارد عدم قطعیت در دادهها به گونهای است که نمیتوان در نهایت به پاسخ محکم و مشخصی رسید.
—
ارجاع و پینوشت
[1] Data Science, John D. Kelleher, Brendan Tierney; The MIT Press Essential Knowledge Series 2018
[2] این تقسیمبندیِ سهگانه برای معرفی مولفههای اصلی علوم داده متداول است. اگرچه گاهی با واژگان دیگری نیز بیان میشود. مثلا برخی سه مولفه اصلی علوم داده را به این صورت برشمردهاند: (1) آمار و ریاضیات، (2) علوم کامپیوتر و مهندسی فناوری اطلاعات و (3) شناخت زمینه و موضوع. این تقسیمبندی نیز از آنچه در متن توضیح داده شد دور نیست. تفاوت تقسیمبندی متن با این تقسیمبندی این است که نامگذاری مولفههای اصلی در متن با توجه به ماهیت بین رشتهای علومِ «داده» با تمرکز بر درهمتنیدگی مولفهها پیشنهاد شده: شناخت داده، پردازش داده و تحلیل داده؛ اما در این تقسیمبندی سعی بر تفکیک هرچه بیشتر مولفهها بوده است. منبع اصلی که برای اولین بار این تقسیمبندی سهگانه را پیشنهاد کرده برای ارجاع دقیقتر پیدا نشد.
[3] این واژه را برای نخستین بار آماردان سرشناسی به نام جان توکی در دهه 60 میلادی داد. توکی علاوه بر آمار در ریاضیات، علوم کامپیوتر، شیمی و صنایع نیز دستی داشت و در آنها نیز میراث مهمی از خود به جا گذاشت (+) .
[4] Bradley Efron, Trevor Hastie; Computer Age Statistical Inference: Algorithms, Evidence, and Data Science; Cambridge University Press 2016; p 450
[5] S. C. Kleene; Representation of Events in Nerve Nets and Finite Automata; From the book Automata Studies, Princeton University Press 1956; (AM-34), Volume 34
[6] Subrata Dasgupta, Computer Science Very Short Introduction; Oxford University Press 2016, p1
در کتاب فوق، سوبراتا داسگوپتا تعریفی ساده، قابل اجماع و نه چندان مناقشهبرانگیز از برای علوم کامپیوتر نقل میکند: علوم کامپیوتر چیزی غیر از مطالعه کامپیوتر و پدیدههای مرتبط با آن است. میتوان مشابه همین تعریف را برای علوم داده نیز ارائه کرد.
[7] این تقسیمبندی نیز ا ابداعات جان توکی است.
3 پاسخ
👌👌
جامع و در عین حال کاملاً قابل فهم بود.
دست مریزاد!
در عمل با این تقسیم بندی ها که روبرو بشیم فکر کنم بهتر متوجه بشیم و لمس کنیم.