Գույքագրման պահանջարկի կանխատեսում մեքենայական ուսուցման և Python-ի միջոցով
<h2>Ներածություն <p>Ցանկացած ձեռնարկություն պետք է ուշադիր կառավարի իր գույքագրումը, քանի որ այն պետք է ընտրի պաշարների ճիշտ քանակությունը՝ բավարարելու հաճախորդի պահանջարկը՝ միաժամանակ ծախսերը նվազագույնի հասցնելու համար: Պաշարների կառավարումը մեծապես հենվում է պահանջարկի ճշգրիտ կանխատեսումների վրա՝ օգնելու ընկերություններին խուսափել պաշարներից և ավելցուկային խնդիրներից: Կազմակերպությունները կարող են օգտագործել մեքենայական ուսուցման զարգացումները և պատմական տվյալների հսկայական ծավալների հասանելիությունը՝ գույքագրման պահանջարկի կանխատեսման իրենց համակարգերը բարելավելու համար: Այս գրառումը կուսումնասիրի, թե ինչպես ճիշտ գնահատել գույքագրման պահանջարկը՝ օգտագործելով մեքենայական ուսուցումը և Python-ը:
Սահմանում
Ժամանակակից աշխարհում բաժնետոմսի կամ ծառայության ապագա կարիքի կամ պահանջարկի գնահատման տեխնոլոգիան և համակարգը՝ հիմնված վաճառքի պատմական տվյալների, շուկայի միտումների և այլ համապատասխան փոփոխականների վրա, հայտնի է որպես պաշարների պահանջարկի կանխատեսում: Այսօր տեխնոլոգիան բարելավվել է՝ գնահատելով պատմական տվյալների օրինաչափությունները և միտումները, մեքենայական ուսուցման ալգորիթմները կարող են սովորել արդյունավետորեն կանխատեսել ապագա պահանջարկը: Սա թույլ է տալիս ընկերություններին օպտիմալացնել իրենց գույքագրման մակարդակները և կայացնել խելամիտ դատողություններ և որոշումներ: Թույլ տվեք ձեզ համար մի փոքր ավելի պարզ դարձնել գույքագրման կանխատեսումը, երբ մենք փորձում ենք գուշակել, թե քանի խաղալիք մեզ անհրաժեշտ կլինի՝ հիմնվելով նախկինում վաճառված խաղալիքների վրա: Մենք օգտագործում ենք հատուկ համակարգչային ծրագրեր, որոնք կոչվում են մեքենաներ և python, որոնք կօգնեն մեզ այս գուշակություններ անել:
Շարահյուսություն
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.<model> import <Model>
# preprocess the data and load it
data = pd.read_csv('inventory_data.csv') # Load the inventory data from a CSV file
# If required do processing on data
# Split the data into features and target variable
X = data[['feature1', 'feature2', ...]] # Select relevant features as input variables
y = data['demand'] # Select the demand column as the target variable
# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Initialize and train the model
model = <Model>() # Initialize the machine learning model (e.g., Linear Regression, Random Forest, etc.)
model.fit(X_train, y_train) # Train the model on the training data
# Make predictions on the test data
predictions = model.predict(X_test)
Սկսելու համար ներմուծեք բոլոր գրադարանները, ինչպիսիք են matplotlib, numpy, scikit-learn, pandas և այլն:
Տվյալների աղյուսակային կառուցվածքը, որը կոչվում է pandas DataFrame, այնուհետև լրացվում է անցյալի վաճառքի տվյալներով:
Տվյալները վերլուծության պատրաստելու համար մենք կկատարենք գործողություններ՝ ներառյալ բացակայող արժեքների մշակումը, տվյալների տեսակների փոփոխումը, դասակարգային փոփոխականների մշակումը և տվյալների բաժանումը վերապատրաստման և թեստավորման խմբերի:
-
Մենք տվյալներից հանում ենք անհրաժեշտ հատկանիշները, որպեսզի մեքենայական ուսուցման մոդելը կարողանա ճանաչել օրինաչափությունները և ճշգրիտ կանխատեսումներ անել: Սա կարող է հանգեցնել հետաձգման տարրերի ավելացման, մի քանի ժամանակաշրջանների ընթացքում հավաքագրված տվյալների միջինացմանը կամ հաշվի առնելով արտաքին փոփոխականները, ինչպիսիք են արձակուրդները:
Մենք կընտրենք մեքենայական ուսուցման լավ մեթոդ, կսովորեցնենք այն՝ օգտագործելով վերապատրաստման տվյալները և կգնահատենք ալգորիթմի աշխատանքը՝ օգտագործելով գնահատման համապատասխան չափումներ, ինչպիսիք են միջին քառակուսի սխալը (MSE) կամ արմատային միջին քառակուսի սխալը (RMSE):
Ալգորիթմ
Քայլ 1 - Ներբեռնեք վաճառքի պատմական տվյալները:
Քայլ 2 – Անդրադառնալով բացակայող արժեքներին, փոխելով տվյալների տեսակները և տվյալները բաժանելով վերապատրաստման և փորձարկման խմբերի, նախապես մշակեք տվյալները:
Քայլ 3 - Կատարեք առանձնահատկությունների ճարտարագիտություն՝ հանելով համապատասխան հատկանիշներ:
Քայլ 4 – Օգտագործելով վերապատրաստման տվյալները, ընտրեք համապատասխան ալգորիթմ մեքենայական ուսուցումից:
Քայլ 5 – Օգտագործելով ճիշտ չափումներ, գնահատեք մոդելի կատարումը և ստեղծեք կանխատեսումներ՝ հիմնված թարմ տվյալների վրա:
Մոտեցում
Մոտեցում 1 − Ժամանակային շարքերի կանխատեսում ARIMA-ի միջոցով
Մոտեցում 2 - Վերահսկվող ուսուցում` օգտագործելով պատահական անտառային ռեգրեսիա:
Մոտեցում 1. ժամանակային շարքերի կանխատեսում ARIMA-ի միջոցով
Օրինակ
# Import libraries
import pandas as pd
from statsmodels.tsa.arima.model import ARIMA
data = pd.read_csv('sales_data.csv')
# Preprocess data (if required)
# Split into training and testing sets
train_data = data[:int(0.8 * len(data))]
test_data = data[int(0.8 * len(data)):]
# Fit ARIMA model
model = ARIMA(train_data, order=(p, d, q)).fit()
# Make predictions
predictions = model.predict(start=len(train_data), end=len(train_data) + len(test_data) - 1)
# Evaluate model
mse = ((predictions - test_data) ** 2).mean()
Արդյունք
Actual Predicted
Day 1 100 105
Day 2 150 140
Day 3 120 125
Day 4 180 170
Day 5 90 95
Այս օրինակում մենք ունենք իրական պահանջարկի թվերը (միավորներով) կոնկրետ ապրանքի համար հինգ օրվա ընթացքում: ARIMA մոդելը, որը վերապատրաստվել է անցյալի տվյալների վրա, օգտագործվում է ակնկալվող արժեքները ստանալու համար:
Աղյուսակը ցույց է տալիս օրական իրական պահանջարկի թվերը, ինչպես նաև համապատասխան ARIMA մոդելի կանխատեսումները: Ինչպես տեսնում ենք, մոդելը ճիշտ կանխատեսել է պահանջարկի ընդհանուր օրինաչափությունը և տվել համապատասխան կանխատեսումներ: Այնուամենայնիվ, քանի որ ապագա պահանջարկի կանխատեսումն ի սկզբանե դժվար է, կարող են լինել որոշ տարբերություններ կամ անհամապատասխանություններ փաստացի և սպասվող թվերի միջև:
Մոտեցում 2. Վերահսկվող ուսուցում՝ օգտագործելով պատահական անտառային ռեգրեսիա
Օրինակ
# Import libraries
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
data = pd.read_csv('sales_data.csv')
# Preprocess data (if required)
# Split into features and target
X = data.drop('demand', axis=1)
y = data['demand']
# Split into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# Initialize and train the Random Forest regressor
model = RandomForestRegressor(n_estimators=100)
model.fit(X_train, y_train)
# Make predictions
predictions = model.predict(X_test)
# Evaluate model
mse = mean_squared_error(y_test, predictions)
Արդյունք
Actual Predicted
Day 1 100 95
Day 2 150 155
Day 3 120 115
Day 4 180 175
Day 5 90 85
Վերոնշյալ ընտրանքում այն ցույց է տվել կոնկրետ ապրանքի իրական պահանջարկի վիճակագրությունը (միավորներով) հինգ օրվա ընթացքում: Կանխատեսված արժեքները ստեղծվում են՝ օգտագործելով 2-րդ մոտեցումը, որը պատահական անտառային ռեգրեսիայի մոդելն է, որը վերապատրաստվել է պատմական տվյալների վրա:
Յուրաքանչյուր օրվա համար աղյուսակը ցույց է տալիս իրական պահանջարկի մակարդակները, ինչպես նաև այն արժեքները, որոնք կանխատեսել էր Պատահական անտառային ռեգրեսիայի մոդելը: Ինչպես տեսնում ենք, մոդելի կողմից արված կանխատեսումները հիմնականում ճիշտ են և սերտորեն համապատասխանում են դիտարկվող պահանջարկին: Փաստացի և կանխատեսվող ծավալները, սակայն, կարող են տարբերվել կամ փոքր-ինչ փոփոխվել, և դրա պատճառն այն է, որ ապագա պահանջարկի կանխատեսումը կարող է ազդել մի շարք գործոնների և պատճառների վրա:
Եզրակացություն
Որպեսզի ընկերությունները կամ ընկերությունները հաջողությամբ բավարարեն սպառողների պահանջները կամ ժամկետները և օպտիմալացնեն իրենց պաշարների մակարդակը, ճշգրտությունը շատ կարևոր է: Եվ այս գույքագրման համար պահանջարկի կանխատեսումը էական է: Բիզնեսները կարող են բարելավել կամ բարելավել հաճախորդների կամ հաճախորդների երջանկությունը էժան ծախսերով և բարելավել իրենց ընթացակարգերը՝ օգտագործելով մեքենայական ուսուցման տեխնոլոգիան: Դա նման է այն բանին, որ գուշակելը կամ իմանալը, թե մեզ որքան իրեր կամ իրեր պետք կգան, իսկապես հաճելի է: Մենք կարող ենք կանխատեսել ապագան և ապահովել, որ բավարար խաղալիքներ կան