تولد یک زبان برنامه نویسی جدید برای کار با داده های بزرگ

سه شنبه 10 فروردین 1395

محققان پوتسدام موفق به توسعه یک زبان برنامه نویسی جدید و منبع باز مبتنی بر زبان برنامه نویسی پایتون برای استفاده جهت بررسی تغییرات اقلیمی و سایر شبکه های اشباع از داده در سطح ماکروسکوپی شده اند.

تولد یک زبان برنامه نویسی جدید برای کار با داده های بزرگ

تصویر: تصویرسازی شبکه اقلیمی، ساختار ستون فقراتیِ روابط بینابینی آماری معنادار(لینک ها) بین مجموعه های زمانی درجه حرارت هوای سطحی (گره ها) در سرتاسر جهان را با ویژگی هایی نظیر چرخش گرمسیری نشان می دهد.

 اگر بخواهیم بدانیم که آیا تغییرات رخ داده در اقلیم آفریقا در دوران پارینه سنگی با پدیدار شدن و ازمیان رفتن گونه های مختلف انسان ها همبستگی داشته است یا خیر چطور باید جواب این سوال را پیدا کرد؟ به دلیل حجم عظیم داده های پیچیده ای که وجود دارد و باید تحلیل شوند پاسخ دادن به این سوال مشکل می نماید.

 حال محققان آلمانی موفق به توسعه ابزاری جدید برای تحلیل مجموعه های داده بزرگ و آشکارسازی روندهای عمده همانند نقاط اوج اقلیمی و اثرات آنها بر گونه های مختلف شده اند. محققان پکیجی نرم افزاری را بر اساس زبان پایتون خلق نمودند که دو مفهوم بسیار مهم  تحلیل داده ها یعنی نظریه شبکه پیچیده و تحلیل مجموعه های زمانی غیرخطی را با هم یکپارچه می کند.

شبکه پیچیده، یک شبکه فناوری، زیست شناسی یا اجتماعی می باشد که الگوهای ارتباطی آن نه منظم و نه کاملا تصادفی هستند. از تحلیل های مجموعه های زمانی غیرخطی غالبا برای بررسی سیستم های پیچیده، از جمله آنهایی استفاده می شود که به شیوه ای بی نظم آشکار می شوند. بسیاری از پدیده های طبیعی همانند الگوهای آب و هوایی متغیر، در اصل غیرخطی هستند یعنی همانند سیستم های انسان ساخته ای مثل بازارهای مالی می مانند.

محققان نرم افزاری را که به کار یکپارچه سازی دو مفهوم می پردازد pyunicorn نام گذاشته اند و یافته های خود را در CHAOS که توسط AIP Publishing منتشر می شود مورد بحث و بررسی قرار دادند.

به گفته جاناتان دانگس، دانشجوی سابق پی اچ دی در گروه یورگن کورتس و سخنران همکار  پروژه پرچمدار COPAN در انستیتوی تحقیقات اثرات اقلیمی پوتسدام (PIK) در آلمان که هدف آن توسعه مدل های مفهومی از دینامیک های اجتماعی-زیست محیطی جهانی می باشد: "pyunicorn همانند ماکروسکوپ کار می کند که اگر از آن به شکل صحیح استفاده شود می توان دست به خلاصه سازی جوهر اطلاعات از داده های مجموعه های شبکه ای یا زمانی زد."
 از نرم افزار عرضه شده می توان برای شناسایی ساختارهای شبکه ای حساس همانند گلوگاه ها و ستون های فقرات برای روندهای حمل و نقل و نیز آشکارسازی نقاط اوج در مجموعه های زمانی، روانی یا اقلیم شناسی استفاده نمود.

بر این اساس اصلی ترین کاربرد این پکیج نرم افزاری، تحلیل داده های حاصل از مشاهدات، تجربیات و سیستم های مدل به وسیله نمودارها و مجموعه های زمانی با کمیت های مختلف به صورت موازی، به عنوان مثال درجه حرارت، بارش باران و باد برای اقلیم شناسی یا فشارخون و تنفس برای روانشناسی می باشد. با اعمال نمودن تحلیل های شبکه تکرارشونده که طی آنها به مطالعه بازگشت سیستم به حالت قبلی پرداخته می شود، pyunicorn توانست نقاط اوج مجموعه های زمانی را شناسایی کند که از آنجمله می توان به سوابق اقلیمی مربوط به دوران پارینه سنگی و ظهور اولیه شرایط سخت در زنان حامله که به پره اکلامپسی معروف است اشاره داشت.

مطالعه قبلی دونگس شامل شبکه های پیچیده و تحلیل سری های زمانی غیرخطی و کاربردهایشان برای تحلیل داده جهان واقع می شد. برای توسعه بسته pyunicorn همکارانی از PIK، دانشگاه هامبولت برلین، مرکز انعطاف پذیری استکهلم، موسسه دریایی و تحقیقات جوی اوترخت، دانشگاه آبردین و دانشگاه دولت Nishny Novgorod، به ترتیب در آلمان، سوئد، هلند، انگلستان و روسیه همکاری داشتند.
به گفته دونگس: "بسیاری از این روش ها اخیرا توسط تیم همکاران من توسعه داده شد و افزون بر این، فقدان کاربردهای نرم افزاری هماهنگ برای روش های موجود نیز وجود داشت. pyunicorn نیز به منظور از میان برداشتن همین فاصله و در اختیار گذاردن چهارچوب نرم افزاریِ یکپارچه ای برای استفاده و توسعه بیشتر روش ها جهت شبکه های پیچیده تحلیل سری های زمانی غیرخطی و ترکیبهای آنها توسعه داده شد."

 همانگونه که از نام بسته نرم افزاری نیز برمی آید pyunicorn به زبان پایتون نوشته شده که زبان برنامه نویسی منبع باز محبوبی به شمار می رود. این بسته  به شکل ماژولار طراحی شده است که استفاده  از آنرا در موقعیت های مختلف از جلسات تحلیلی تعاملی روی لپ تاپ تا تحلیل داده مقیاس بزرگ موازی روی خوشه های ابرکامپیوتری ساده سازد. همانگونه که در مورد تمام نرم افزارهای نوشته شده برحسب پایتون صدق می کند، pyunicorn روی سیستم های عامل متعددی از قبیل  لینوکس، مک OSX ، ویندوز و آندروید اجرا می شود.

تنوع نرم افزار یکی از اهداف کلیدی پروژه را که در دسترس عموم قرار دادن آن و آسانی استفاده برای محققان و فعالان حوزه های مختلف از علوم سیستم های پیچیده تا اقلیم شناسی، پزشکی، علوم اعصاب، اقتصاد و مهندسی بوده محقق ساخته است.

یورگن کورتس که کار نظارت بر پروژه را به عهده داشته است می گوید "بسیاری از شیوه های ابداعی تاکنون آزادانه در اختیار جامعه علمی قرار نداشته است و به زبان برنامه نویسی محبوب و منعطف پیتون هم نوشته نشده بودند."

 دونگس و همکاران وی قصد دارند در آینده روی بالا بردن سرعت کد پکیج و انطابق آن با پلت فوم پیتون 3.x  کار کنند. دونگس خوشبین است، اما در مورد موارد استفاده از این پکیج نرم افزار نظر احتیاط آمیزی دارد.

 وی می گوید: "ترکیب راهبردهای شناخته شده به شکلی جدید می تواند بینش ها و روزنه های نوینی در علم سیستم های پیچیده پیش روی قراربدهد. پکیج های نرم افزاری همانند pyunicorn در کاتالیز کردن این روند و تسهیل آن نقش بسیار مهمی دارند، اما باید با دقت و برمبنای نظریه ای مشخص از آن استفاده شود. در غیر اینصورت نتایج حاصله علم بی حاصل خواهد بود."

برای دانلود مجانی پکیج pyunicorn می توانید به آدرس زیر مراجعه نمایید:

https://github.com/pik-copan/pyunicorn

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید