Talep tahmini için model topluluklarının kullanılması
Using ensembles of classifiers for demand forecasting
Yazar: İREM İŞLEK
Danışman: DOÇ. DR. ŞULE ÖĞÜDÜCÜ
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2015
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Tedarik zinciri, ürün, bilgi, servis ve paranın kaynaktan müşteriye veya müşteriden kaynağa aktarımı ve bu aktarım sırasında gerçekleşen tüm süreçleri ifade etmektedir. Depolar için talep tahmini ise herhangi bir deponun ileri tarihli bir zaman dilimi için hangi üründen hangi miktarda satacağını öngörebilmek için bir model geliştirilmesi ve bu model kullanılarak ilgili sonuçların üretilmesi sürecidir. Talep tahmini, tedarik zinciri yönetimi içerisindeki bir alt süreç olup oldukça karmaşık, zor ancak bir o kadar da önemli bir problem olarak kabul edilmektedir. Talep tahmininin karmaşık bir problem olmasındaki en önemli sebeplerden biri oldukça fazla sayıda dış faktörden etkilenmesidir. Bir depo için talep tahmini yapılırken deponun bulunduğu bölge, bu bölgedeki müşterilerin ekonomik durumları, bölgedeki depo sayısı, bölgenin büyüklüğü gibi birçok faktörün göz önünde bulundurulması gerekmektedir. Tüm bunlara ek olarak depo ve ürün sayısının fazlalığı da problemin karmaşıklığını arttırmaktadır. Bu çalışmada yukarıda önemi ve zorluğu vurgulanan, depolar için talep tahmini üzerine çalışılmıştır.
Yapılan çalışmada kullanılan veri kümesi Türkiye'de hizmet veren ulusal bir kuruyemiş firmasının üç yıllık gerçek satış verileri kullanılarak oluşturulmuştur. Oluşturulan veri kümesinde  98 ana dağıtım deposu ve 70 farklı ürün yer almaktadır.
Çalışmada öncelikle seçilen dört farklı makine öğrenmesi algoritmasıyla (Lineer Regresyon, Çok Katmanlı Algılayıcı, Bayes Ağı, Ardışık Minimal Optimizasyon) bağımsız modeller oluşturulmuştur. Ardından çeşitli çizge ve veri madenciliği yaklaşımları kullanılarak depoların ürün satış davranışlarına ilişkin gruplar oluşturulmuştur. Oluşturulan bu gruplar için ayrı ayrı modeller oluşturulduğunda başarımın arttığı görülmüştür.
Bunun ardından Lineer Regresyon, Çok Katmanlı Algılayıcı, Bayes Ağı, Ardışık Minimal Optimizasyon algoritmalarından oluşturulan modellerin model topluluğu oluşturma (model birleştirme) yaklaşımından yararlanılarak birlikte kullanılması denenmiştir. Böyle bir yaklaşımın denenmesinin nedeni, talep tahmini gibi karmaşık bir problemi çözmek için tek bir modelin yetersiz kalmasıdır. Model topluluğu oluşturma yöntemleriyle başarımın arttırılabileceği düşünülmüştür. Burada model topluluğu oluşturulması için öncelikle yığılmış genelleme yönteminin kullanıldığı denemeler yapılmıştır. Ardından modelleri birleştirmek için bu çalışmada önerilen yöntemle başka bir deneme yapılmıştır. Çalışmada önerilen model, yığılmış genelleme yönteminden yola çıkılarak oluşturulmuştur. Ancak söz konusu modelin genelleme modeli için giriş öznitelikleri seçilmesi kısmı yığılmış genelleme yönteminden ayrılmaktadır. Önerilen yöntem kullanılarak tahmin modelinin başarımının arttığı gözlenmiştir.

Abstract:
Supply chain means all the processes during transfering finance, product, service and information from source to customer or customer to source. There are several types of supply chain models which are composed according to their complexities. Supply chain types can be collected into three main groups: Direct Supply Chain, Extended Supply Chain and Ultimate Supply Chain. Demand forecasting which is a research topic in machine learning is the process of estimating the product quantity that customers will purchase. Demand forecasting for warehouses means constructing a model to estimate demands of products for a future time interval. 
In Direct Supply Chain model, the products of a manufacturer are sent to distribution warehouses. Customers reach these products through distribution warehouses of the company. In Extended Supply Chain model, numerously different components are added to supply chain model likewise suppliers of supplier, customers of customers etc. Due to the fact that there are several components are added in this model, it is more complicated than Direct Supply Chain model. In Ultimate Supply Chain model, there are additional components such as third party logistic company, financial providers, market research companies etc. In this model, these components should also be considered during processes.
Demand forecasting which is a sub process of supply chain management is a quite complex and important problem. Because of the complexity of demand forecasting is that it is effected from numerously different factors. For instance, region size, sale power of region community, product type, population of the region should be considered in order to forecast demand of a warehouse. In addition to that, when the number of warehouses and products increase, the demand forecasting problem becomes more and more complex. 
Since both the number of warehouses and the variety of products increase in today's competitive and dynamic business environment, accurate demand forecasting becomes more important. Thanks to accurate demand forecasting, planning the other phases of supply chain management can be done in the correct way. In addition to that, the improvement of the accurracy of demand forecasting provides quite significant savings. For instance, accurate demand forecasting provides avoiding various expenditure likewise unnecessary logistic costs, storage costs, redundant producer goods etc. Thus, it is aimed to increase the profitability of company.
The main purpose of this study is developing a model which provides estimating the quantity of sale amounts of different products for main distribution warehouses correctly. In this study, we focus on a Direct Supply Chain model which contains numerous main distribution warehouses. Moreover, every main distribution warehouse contains several sub distribution warehouses in this model. Customers can reach products through sub distribution warehouses. In our problem, customers are end sale points such as supermarkets, canteens, grocery stores etc.
In this thesis, we studied forecasting the demand of main distribution warehouses with low error rate problem for a company. The dataset of this study was constructed from the real sales transaction data of a national dried fruits and nuts company from Turkey. This company gives service to nearly all cities of Turkey. Sales transaction of 2011, 2012 and 2013 were used for this dataset. This company has ninety eight main distribution warehouses. The company produces and distributes seventy different products.
It becomes more difficult to estimate the demand accurately using traditional methods with the increasing number of the variety of products and size of warehouses. Because of this situation, most of the previous studies are focus on limited count of warehouses or products. In addition to that, most of the previously proposed methods are interested in forecasting demand of customers. Differently from this, we focus on forecasting the demand of main distribution warehouses in our study. Moreover, the estimation accuracy of previous studies are not sufficient. Contributions of this thesis can be summarized as follows: proposed methodology can handle numerous main distribution warehouses and products, bipartite graphs and special data mining techniques for bipartite graphs are used for defining sale behaviours of main distribution warehouses, a new methodology for ensembling classifiers is proposed. 
There are four basic steps of the methodology. In the first step, dataset is constructed from sale invoices of 2011, 2012 and 2013 years for the national dried fruit and nut company.  Constructed dataset contains ninety eight main distribution warehouses and seventy different products. Moreover, the dataset comprises numerous additional information likewise main distribution warehouse information (locations, number of sub distribution warehouses, number of vehicles, number of customers, number of employees, size of sale region etc.), product information (product ontology is used for that), sale amounts and sales time information. 
Second step of the methodology is called data preparation. This step is used for cleaning and preparing data for the data mining methodologies. For this reason, dataset is analized and it is found that there are quite small quantities of columns which are empty. Rows which contain empty columns are deleted. After that, a product ontology which is used for defining products and their properties is constructed. This ontology will be used for forecasting demand of a new product. Because of the fact that a new product doesn't have any past sale data, sale data of the nearest neighbours in the ontology of the new product will be used for demand forecasting. After that, numerous new properties are found for warehouses. For instance, six main categories are constructed for main warehouses, customer lifetime values are calculated for warehouses. Also, special day problem is handled in this step. Because, it is noticed that special days (New Year, Ramadan Holiday, Ramadan Month, Sacrifice Holiday etc.) change product demands more than expected.
Third step of the methodology is used for modeling the sale behaviours of warehouses. Because of this step is that some of the main distribution warehouses have different sale behaviours. Some warehouses give service to wider area and they also have more sub distribution warehouses than others. Moreover, some main warehouses may sell higher profit margin products. For this reason, main distribution warehouses are grouped based on their product sale amounts using bipartite graph. After the bipartite graph is constructed, this graph is clustered using Bipartite Graph Clustering algorithm.
In order to decrease the error rate, another bipartite graph is constructed for modeling sale behaviours of sub distribution warehouses. Purpose of this operation is that, some sub distribution warehouses give service to different areas with different purchase power. Bipartite graph which includes sub distribution warehouses is clustered using Bipartite Graph Clustering algorithm.
In the last step of the methodology, stand-alone models are constructed using Multi Layer Perceptron, Linear Regression, Sequential Minimal Optimization and Bayesian Network algorithms. After that, some clusters are composed according to sales behaviours of main distribution warehouses using graphs and data mining methodologies. Constructing separate models for main distribution clusters provides improvement in results. Then, separate models are trained for every sub distribution warehouse clusters. This trial gives better results than previous trials. 
After that, models which are composed using Multi Layer Perceptron, Linear Regression, Sequential Minimal Optimization and Bayesian Network algorithms are combined using classification ensemble approach. Because of using this approach is that stand alone models are unefficient to solve demand forecasting problem. Thus, stacked generalization which is an example of classification ensemble is tried for combining these models in this study.
Stacked generalization methodology contains two basic levels which are level-0 and level-1. In level-0, output results are estimated for every separate models. In level-1, another model which uses output results of level-0 as input attributes is trained. Level-1 is called as generalization phase in this methodology. 
In the next trial, stacked generalization models are constructed using binary combinations of given four machine learning algorithms. There are six different combinations of these algorithms and separate stacked generalization models are constructed for every different algorithm combinations. For instance, one of the stacked generalization models contains only Multi Layer Perceptron and Sequential Minimal Optimization in the level-0 of stacked generalization model.
Afterwards, triple combinations of four machine learning algorithms are selected. These four combinations are used for constructing separate stacked generalization models. For example, in one of the trials, level-0 of stacked generalization model contains only Multi Layer Perceptron, Bayesian Network and Linear Regression algorithms. Next trials are done using other triple combinations.
Finally, a new method is applied to combine models. This new method was constructed based on stacked generalization but different attributes were used as inputs of generalization phase (level-1) model. In stacked generalization, level-1 which is called as generalization phase uses results of first step model outputs as input attributes. Differently from stacked generalization, proposed method uses both results of level-0 model outputs and level-0 model input attributes as input attributes of level-1 (generalization model). This methodology decreased the error rate of the system.
In brief, experiments show that clustering warehouses based on their sale behaviours and training separate models for these clusters provides better results than training one model for all warehouses. Reason of this situation is that, training different models for warehouses which have different sale behaviours is more appropriate for given problem. In addition to that, proposed ensembling classifiers methodology gives better results than stacked generalization methodology.