import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
------------------------------
1. Örnek veri seti
------------------------------
data = {
'Meslek': [
'Yazılım Geliştirici', 'Veri Analisti', 'Siber Güvenlik Uzmanı',
'Kasiyer', 'Çağrı Merkezi', 'Üretim İşçisi',
'Yaşlı Bakım Uzmanı', 'Dijital Pazarlama', 'Genetik Mühendisi'
],
'Otomasyon_Riski': [10, 15, 20, 85, 75, 90, 20, 30, 15],
'Talep_Artisi': [25, 30, 40, -5, -10, -15, 35, 28, 38],
'Beceri_Puani': [9, 9, 9, 4, 4, 3, 8, 7, 9]
}
df = pd.DataFrame(data)
------------------------------
2. Basit lineer regresyon ile tahmini talep
------------------------------
yillar = np.arange(2020, 2025).reshape(-1,1)
talep_matrix = np.array([
[20, 22, 23, 24, 25],
[15, 18, 20, 25, 30],
[10, 15, 20, 30, 40],
[-5, -5, -5, -5, -5],
[-10, -10, -10, -10, -10],
[-20, -18, -16, -15, -15],
[20, 25, 30, 32, 35],
[20, 22, 25, 27, 28],
[25, 28, 30, 35, 38]
])
future_year = np.array([[2025]])
future_talep = []
for i, meslek in enumerate(df['Meslek']):
model = LinearRegression()
model.fit(yillar, talep_matrix[i].reshape(-1,1))
pred = model.predict(future_year)[0][0]
future_talep.append(pred)
df['Tahmini_Talep_2025'] = future_talep
df['Tahmini_Onem_2025'] = df['Tahmini_Talep_2025'] * (df['Beceri_Puani'] / df['Otomasyon_Riski'])
------------------------------
3. Monte Carlo simülasyonu (pozitif std ile)
------------------------------
simulations = 10000
mc_results = {}
for i, row in df.iterrows():
Std pozitif olmalı, min 0.1 kullanıyoruz
std_dev = max(abs(row['Tahmini_Talep_2025']*0.1), 0.1)
simulated = np.random.normal(row['Tahmini_Talep_2025'], std_dev, simulations)
simulated_score = simulated * (row['Beceri_Puani'] / row['Otomasyon_Riski'])
mc_results[row['Meslek']] = {
'Ortalama': simulated_score.mean(),
'Std': simulated_score.std(),
'95_CI_Lower': np.percentile(simulated_score, 2.5),
'95_CI_Upper': np.percentile(simulated_score, 97.5)
}
mc_df = pd.DataFrame(mc_results).T.sort_values(by='Ortalama', ascending=False)
------------------------------
4. Görselleştirme
------------------------------
plt.figure(figsize=(12,6))
plt.barh(mc_df.index, mc_df['Ortalama'], xerr=mc_df['Std'], color='skyblue')
plt.xlabel('Tahmini Gelecek Önem Skoru (2025)')
plt.title('2025: Mesleklerin Tahmini Önem Skoru ve Risk Aralığı')
plt.gca().invert_yaxis()
plt.show()
Kodun Açıklaması:
Bu kod, farklı mesleklerin 2025 yılındaki önemini tahmin etmek için:
- Örnek bir veri seti oluşturur,
- Lineer regresyon ile talep artışını tahmin eder,
- Monte Carlo simülasyonu ile belirsizliği ölçer,
- Görselleştirme yapar.
Adım Adım Açıklama: - Veri Seti Oluşturma:
- Meslek: Değerlendirilen 9 farklı meslek.
- Otomasyon_Riski: Mesleğin otomasyon riski (yüksek skor = yüksek risk).
- Talep_Artisi: Geçmiş talap artış/azalış yüzdeleri.
- Beceri_Puani: Mesleğin gerektirdiği beceri seviyesi (1-10 arası). - Lineer Regresyon ile Tahmin:
- 2020-2024 yılları arasındaki talep verilerini kullanarak, 2025 yılı için talep tahmini yapılır.
- Önem Skoru Hesaplama:
Tahmini_Onem_2025 = (Tahmini_Talep_2025 * Beceri_Puani) / Otomasyon_Riski`
(Yüksek beceri/düşük risk = yüksek önem skoru) - Monte Carlo Simülasyonu:
- Tahminlerdeki belirsizliği modellemek için 10.000 simülasyon yapılır.
- Her meslek için:
- Ortalama önem skoru,
- Standart sapma,
- %95 güven aralığı (alt/üst sınır) hesaplanır. - Görselleştirme:
- Meslekler, ortalama önem skoruna göre (yüksekten düşüğe) sıralanır.
- Yatay bar grafiğinde her mesleğin skoru ve standart sapma hata çubuklarıyla gösterilir.
Sonuçlar
En Önemli Meslekler: Genetik Mühendisi, Siber Güvenlik Uzmanı, Yazılım Geliştirici.
- En Düşük Öneme Sahip Meslekler: Üretim İşçisi, Kasiyer, Çağrı Merkezi.
- Neden? Yüksek beceri gerektiren meslekler düşük otomasyon riski ve yüksek talep artışı nedeniyle daha yüksek skor alır.
Grafik:
Oluşturulan bar grafiği, mesleklerin 2025 yılındaki önem skorlarını ve belirsizlik aralıklarını gösterir.
Bu sonuçlar örnek veriye dayalıdır. Gerçek dünya için daha kapsamlı veri ve modeller gerekir.
- Monte Carlo simülasyonundaki standart sapma, tahminlerin ne kadar "güvenilir" olduğunu gösterir (büyük hata çubukları = yüksek belirsizlik).