آموزش تحلیل پوششی داده ها هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.

آموزش تحلیل پوششی داده ها

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

به روز رسانی: چارچوب یادگیری ماشین Datumbox اکنون منبع باز و رایگان است دانلود. برای مشاهده اجرای تحلیل پوششی داده در جاوا، بسته com.datumbox.framework.algorithms.dea را بررسی کنید.

وقتی 5-6 سال پیش برای اولین بار با این روش مواجه شدم، از اصالت الگوریتم، سادگی آن و هوشمندی ایده هایی که استفاده می کرد شگفت زده شدم. من حتی بیشتر از این متعجب شدم که دیدم این تکنیک خارج از کاربردهای معمول خود (مالی، تحقیقات عملیاتی و غیره) به خوبی کار می کند زیرا می تواند با موفقیت در بازاریابی آنلاین، رتبه بندی موتورهای جستجو و برای ایجاد معیارهای ترکیبی به کار رود. با وجود این، امروزه DEA تقریباً منحصراً در چارچوب تجارت مورد بحث قرار می گیرد. به همین دلیل است که در این مقاله، ایده‌های اساسی و چارچوب ریاضی پشت DEA را پوشش می‌دهم و در پست بعدی برخی از کاربردهای جدید این الگوریتم را در برنامه‌های کاربردی وب به شما نشان می‌دهم.

چرا تحلیل پوششی داده ها جالب است؟

تجزیه و تحلیل پوششی داده ها روشی است که به ما امکان می دهد سوابق (فروشگاه ها، کارمندان، کارخانه ها، صفحات وب، کمپین های بازاریابی و غیره) را بر اساس ویژگی های آنها (وزن، اندازه، هزینه، درآمد و سایر معیارها یا شاخص های کلیدی عملکرد) مقایسه و رتبه بندی کنیم، بدون اینکه هیچ گونه فرضیه قبلی در مورد آن داشته باشیم. اهمیت یا وزن ویژگی ها جالب ترین بخش این تکنیک این است که به ما امکان می دهد رکوردهای متشکل از چندین ویژگی را که واحدهای اندازه گیری کاملاً متفاوتی دارند، مقایسه کنیم. این بدان معناست که ما می‌توانیم رکوردهایی با ویژگی‌های اندازه‌گیری شده در کیلومتر، کیلوگرم یا واحد پولی داشته باشیم و همچنان بتوانیم آنها را مقایسه کنیم، رتبه‌بندی کنیم و بهترین/بدترین و میانگین عملکرد را پیدا کنیم. به نظر جالب میاد؟ به خواندن ادامه دهید.

شرح و مفروضات تحلیل پوششی داده ها

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

در DEA، همه ویژگی ها باید مثبت باشند و فرض بر این است که هر چه مقدار آنها بیشتر باشد، ورودی/خروجی آنها بیشتر است. علاوه بر این، تحلیل پوششی داده ها فرض می کند که ویژگی ها می توانند به صورت خطی به عنوان مجموع وزنی وزن های غیر منفی ترکیب شوند و نسبتی بین ورودی و خروجی تشکیل دهند که کارایی هر رکورد را اندازه گیری می کند. برای اینکه یک رکورد کارآمد باشد، باید یک خروجی "خوب" نسبت به ورودی ارائه شده به ما بدهد. کارایی با نسبت بین خروجی و ورودی اندازه گیری می شود و سپس با نسبت سایر رکوردها مقایسه می شود.

ایده مبتکرانه پشت DEA

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

در اینجا نحوه انتخاب وزن‌ها توسط DEA آمده است: ما سعی می‌کنیم با انتخاب وزن‌های ویژگی مناسب، نسبت هر رکورد را به حداکثر برسانیم. در عین حال، باید اطمینان حاصل کنیم که اگر از وزن‌های یکسان برای محاسبه نسبت‌های همه رکوردهای دیگر استفاده کنیم، هیچ یک از آنها بزرگتر از 1 نخواهد شد.

این ایده در ابتدا کمی عجیب به نظر می رسد. آیا این منجر به محاسبه نسبت های وزنی متفاوت نمی شود؟ پاسخ بله است. آیا این بدان معنا نیست که ما در واقع نسبت های هر رکورد را متفاوت محاسبه می کنیم؟ پاسخ دوباره بله است. خب این چگونه کار میکند؟ پاسخ ساده است: برای هر رکورد، با توجه به ویژگی‌های آن، ما سعی می‌کنیم «وضعیت ایده‌آل» (وزن‌ها) را پیدا کنیم که در آن نسبت آن تا حد امکان بالا باشد و در نتیجه آن را تا حد امکان مؤثر کنیم. اما در عین حال، با توجه به این "وضعیت ایده آل" هیچ یک از نسبت های خروجی/ورودی سایر رکوردها نباید بزرگتر از 1 باشد، به این معنی که آنها نمی توانند بیش از 100٪ موثر باشند! هنگامی که نسبت تمام رکوردها را در هر "وضعیت ایده آل" محاسبه می کنیم، از نسبت آنها برای رتبه بندی آنها استفاده می کنیم.

بنابراین ایده اصلی DEA را می توان در موارد زیر خلاصه کرد: "وضعیت ایده آلی را پیدا کنید که در آن بتوانیم بهترین امتیاز نسبت را بر اساس ویژگی های هر رکورد بدست آوریم. سپس این نسبت ایده آل هر رکورد را محاسبه کرده و از آن برای مقایسه اثربخشی آنها استفاده کنید.

بیایید یک مثال ببینیم

بیایید مثالی را ببینیم که در آن می‌توانیم از DEA استفاده کنیم.

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

برای اعمال DEA باید تعریف کنیم که ورودی و خروجی ما کدام است. در این مورد خروجی آشکارا میزان فروش و تعداد مشتریانی است که به آنها خدمت می کنند. ورودی تعداد کارمندان و اندازه فروشگاه است. اگر DEA را اجرا کنیم، نسبت خروجی به ورودی را برای هر فروشگاه تحت وزن‌های ایده‌آل تخمین می‌زنیم (همانطور که در بالا بحث شد). هنگامی که نسبت های آنها را داشته باشیم، آنها را بر اساس کارایی آنها رتبه بندی می کنیم.

وقت ریاضی است!

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

نسبت کارایی یک رکورد خاص i با x ورودی و y خروجی (هر دو بردار ویژگی با مقادیر مثبت) با استفاده از فرمول زیر برآورد می‌شود:

da2

در جایی که u و v وزن هر خروجی و ورودی رکورد هستند، s تعداد ویژگی های خروجی و m تعداد ویژگی های ورودی است.

مشکل یافتن بهترین/ایده‌آل وزن‌ها برای یک رکورد خاص را می‌توان به صورت زیر فرمول‌بندی کرد:

da4
da6
da8

باز هم موارد بالا فقط روش ریاضی برای یافتن وزن‌های u و v است که کارایی رکورد i را به حداکثر می‌رساند، مشروط بر اینکه این وزن‌ها هیچ یک از رکوردهای دیگر را از 100% کارآمدتر نکنند.

برای حل این مشکل باید از برنامه ریزی خطی استفاده کنیم. متاسفانه برنامه نویسی خطی به ما اجازه استفاده از کسر را نمی دهد و بنابراین باید فرمول مسئله را به صورت زیر تبدیل کنیم:

da10
da12
da14
da8

ما باید تاکید کنیم که مسئله برنامه ریزی خطی بالا بهترین وزن ها را برای رکورد i به ما می دهد و کارایی آن را تحت آن وزن های بهینه محاسبه می کند. همین امر باید برای هر رکورد در مجموعه داده ما تکرار شود. بنابراین اگر n رکورد داشته باشیم، باید n مسئله خطی جداگانه را حل کنیم. در اینجا شبه کد نحوه عملکرد DEA آمده است:

ratio_scores = [];
for every record i {
    i_ratio = get_maximum_effectiveness();
    ratio_scores[i] = i_ratio;
}

محدودیت های تحلیل پوششی داده ها

DEA یک تکنیک عالی است اما محدودیت های خود را دارد. باید درک کنید که DEA مانند یک جعبه سیاه است. از آنجایی که وزن هایی که در نسبت اثربخشی هر رکورد استفاده می شود متفاوت است، تلاش برای توضیح چگونگی و چرایی محاسبه هر امتیاز بی معنی است. معمولاً به جای ارزش واقعی امتیازات اثربخشی، بر رتبه بندی رکوردها تمرکز می کنیم. همچنین توجه داشته باشید که وجود اکستریم ها می تواند باعث شود که نمرات مقادیر بسیار پایینی داشته باشند.

به خاطر داشته باشید که DEA از ترکیب خطی ویژگی ها برای تخمین نسبت ها استفاده می کند. بنابراین اگر ترکیب خطی آنها در کاربرد ما مناسب نیست، باید تبدیل‌هایی را روی ویژگی‌ها اعمال کنیم و ترکیب خطی آنها را ممکن کنیم. یکی دیگر از اشکالات این تکنیک این است که ما باید به اندازه تعداد رکوردها مسائل برنامه ریزی خطی را حل کنیم، چیزی که به منابع محاسباتی زیادی نیاز دارد.

مشکل دیگری که DEA با آن مواجه است این است که با داده های با ابعاد بالا به خوبی کار نمی کند. برای استفاده از DEA تعداد ابعاد d = m + s باید کمتر از تعداد مشاهدات باشد. اجرای DEA زمانی که d بسیار نزدیک یا بزرگتر از n باشد، نتایج مفیدی ارائه نمی دهد زیرا به احتمال زیاد همه رکوردها بهینه هستند. توجه داشته باشید که با اضافه کردن یک متغیر خروجی جدید (بعد)، تمام رکوردهایی که حداکثر مقدار را در این بعد دارند بهینه می‌شوند.

در نهایت باید توجه داشته باشیم که در شکل کلی الگوریتم، وزن ویژگی ها در DEA از روی داده ها تخمین زده می شود و بنابراین از هیچ اطلاعات قبلی در مورد اهمیت ویژگی هایی که ممکن است در مشکل خود داشته باشیم استفاده نمی کنند (البته). این امکان وجود دارد که این اطلاعات را به عنوان محدودیت در مسئله خطی خود وارد کنیم). علاوه بر این، امتیازهای بازدهی که محاسبه می‌شوند، در واقع نسبت‌های بازده حد بالایی هر رکورد هستند، زیرا در «موقعیت‌های ایده‌آل» محاسبه می‌شوند. این بدان معنی است که DEA می تواند راه حل خوبی باشد زمانی که نمی توان هیچ فرضی در مورد اهمیت ویژگی ها داشت، اما اگر اطلاعات قبلی داریم یا می توانیم اهمیت آنها را کمی کنیم، استفاده از تکنیک های جایگزین توصیه می شود.

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

اگر مقاله را دوست دارید، یک لحظه آن را در توییتر یا فیس بوک به اشتراک بگذارید. 🙂

تمبر زمان:

بیشتر از Datumbox