Untitled7.ipynb - Colab
Untitled7.ipynb - Colab
ipynb - Colab
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 1/28
09/04/2025 01:30 Untitled7.ipynb - Colab
Collecting numpy
Downloading numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.0/62.0 kB 1.1 MB/s eta 0:00:00
Collecting pandas
Downloading pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (89 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.9/89.9 kB 3.0 MB/s eta 0:00:00
Collecting python-dateutil>=2.8.2 (from pandas)
Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
Collecting pytz>=2020.1 (from pandas)
Downloading pytz-2025.2-py2.py3-none-any.whl.metadata (22 kB)
Collecting tzdata>=2022.7 (from pandas)
Downloading tzdata-2025.2-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting six>=1.5 (from python-dateutil>=2.8.2->pandas)
Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Downloading numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.4/16.4 MB 63.8 MB/s eta 0:00:00
Downloading pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.1/13.1 MB 64.2 MB/s eta 0:00:00
Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.9/229.9 kB 11.2 MB/s eta 0:00:00
Downloading pytz-2025.2-py2.py3-none-any.whl (509 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 509.2/509.2 kB 23.9 MB/s eta 0:00:00
Downloading tzdata-2025.2-py2.py3-none-any.whl (347 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 347.8/347.8 kB 17.3 MB/s eta 0:00:00
Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: pytz, tzdata, six, numpy, python-dateutil, pandas
Attempting uninstall: pytz
Found existing installation: pytz 2025.2
Uninstalling pytz-2025.2:
Successfully uninstalled pytz-2025.2
Attempting uninstall: tzdata
Found existing installation: tzdata 2025.2
Uninstalling tzdata-2025.2:
Successfully uninstalled tzdata-2025.2
Attempting uninstall: six
Found existing installation: six 1.17.0
Uninstalling six-1.17.0:
Successfully uninstalled six-1.17.0
Attempting uninstall: numpy
Found existing installation: numpy 2.0.2
Uninstalling numpy-2.0.2:
Successfully uninstalled numpy 2 0 2
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 2/28
09/04/2025 01:30 Untitled7.ipynb - Colab
Successfully uninstalled numpy-2.0.2
Attempting uninstall: python-dateutil
Found existing installation: python-dateutil 2.8.2
Uninstalling python-dateutil-2.8.2:
Successfully uninstalled python-dateutil-2.8.2
Attempting uninstall: pandas
Found existing installation: pandas 2.2.2
Uninstalling pandas-2.2.2:
Successfully uninstalled pandas-2.2.2
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the sou
google-colab 1.0.0 requires pandas==2.2.2, but you have pandas 2.2.3 which is incompatible.
numba 0.60.0 requires numpy<2.1,>=1.22, but you have numpy 2.2.4 which is incompatible.
tensorflow 2.18.0 requires numpy<2.1.0,>=1.26.0, but you have numpy 2.2.4 which is incompatible.
Successfully installed numpy-2.2.4 pandas-2.2.3 python-dateutil-2.9.0.post0 pytz-2025.2 six-1.17.0 tzdata-2025.2
WARNING: The following packages were previously imported in this runtime:
[dateutil,six]
You must restart the runtime in order to use newly installed versions.
RESTART SESSION
Collecting catboost
Downloading catboost-1.2.7-cp311-cp311-manylinux2014_x86_64.whl.metadata (1.2 kB)
Requirement already satisfied: shap in /usr/local/lib/python3.11/dist-packages (0.47.1)
Collecting linearmodels
Downloading linearmodels-6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.9 kB)
Requirement already satisfied: plotly in /usr/local/lib/python3.11/dist-packages (5.24.1)
Requirement already satisfied: seaborn in /usr/local/lib/python3.11/dist-packages (0.13.2)
Requirement already satisfied: graphviz in /usr/local/lib/python3.11/dist-packages (from catboost) (0.20.3)
Requirement already satisfied: matplotlib in /usr/local/lib/python3.11/dist-packages (from catboost) (3.10.0)
Collecting numpy<2.0,>=1.16.0 (from catboost)
Downloading numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.0/61.0 kB 2.3 MB/s eta 0:00:00
Requirement already satisfied: pandas>=0.24 in /usr/local/lib/python3.11/dist-packages (from catboost) (2.2.3)
Requirement already satisfied: scipy in /usr/local/lib/python3.11/dist-packages (from catboost) (1.14.1)
Requirement already satisfied: six in /usr/local/lib/python3.11/dist-packages (from catboost) (1.17.0)
Requirement already satisfied: scikit-learn in /usr/local/lib/python3.11/dist-packages (from shap) (1.6.1)
Requirement already satisfied: tqdm>=4.27.0 in /usr/local/lib/python3.11/dist-packages (from shap) (4.67.1)
Requirement already satisfied: packaging>20.9 in /usr/local/lib/python3.11/dist-packages (from shap) (24.2)
Requirement already satisfied: slicer==0.0.8 in /usr/local/lib/python3.11/dist-packages (from shap) (0.0.8)
Requirement already satisfied: numba>=0.54 in /usr/local/lib/python3.11/dist-packages (from shap) (0.60.0)
Requirement already satisfied: cloudpickle in /usr/local/lib/python3.11/dist-packages (from shap) (3.1.1)
Requirement already satisfied: typing-extensions in /usr/local/lib/python3.11/dist-packages (from shap) (4.13.1)
Requirement already satisfied: statsmodels>=0.13.0 in /usr/local/lib/python3.11/dist-packages (from linearmodels) (0.14.4)
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 3/28
09/04/2025 01:30 Untitled7.ipynb - Colab
Requirement already satisfied: statsmodels> 0.13.0 in /usr/local/lib/python3.11/dist packages (from linearmodels) (0.14.4)
Collecting mypy-extensions>=0.4 (from linearmodels)
Downloading mypy_extensions-1.0.0-py3-none-any.whl.metadata (1.1 kB)
Requirement already satisfied: Cython>=3.0.10 in /usr/local/lib/python3.11/dist-packages (from linearmodels) (3.0.12)
Collecting pyhdfe>=0.1 (from linearmodels)
Downloading pyhdfe-0.2.0-py3-none-any.whl.metadata (4.0 kB)
Collecting formulaic>=1.0.0 (from linearmodels)
Downloading formulaic-1.1.1-py3-none-any.whl.metadata (6.9 kB)
Collecting setuptools-scm<9.0.0,>=8.0.0 (from setuptools-scm[toml]<9.0.0,>=8.0.0->linearmodels)
Downloading setuptools_scm-8.2.0-py3-none-any.whl.metadata (6.8 kB)
Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.11/dist-packages (from plotly) (9.1.2)
Collecting interface-meta>=1.2.0 (from formulaic>=1.0.0->linearmodels)
Downloading interface_meta-1.3.0-py3-none-any.whl.metadata (6.7 kB)
Requirement already satisfied: wrapt>=1.0 in /usr/local/lib/python3.11/dist-packages (from formulaic>=1.0.0->linearmodels) (1.17.2)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->catboost) (1.3.1)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.11/dist-packages (from matplotlib->catboost) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib->catboost) (4.57.0)
Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->catboost) (1.4.8)
Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.11/dist-packages (from matplotlib->catboost) (11.1.0)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->catboost) (3.2.3)
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.11/dist-packages (from matplotlib->catboost) (2.9.0.po
Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /usr/local/lib/python3.11/dist-packages (from numba>=0.54->shap) (0.43
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas>=0.24->catboost) (2025.2)
Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas>=0.24->catboost) (2025.2)
Requirement already satisfied: setuptools>=61 in /usr/local/lib/python3.11/dist-packages (from setuptools-scm<9.0.0,>=8.0.0->setupto
Requirement already satisfied: patsy>=0.5.6 in /usr/local/lib/python3.11/dist-packages (from statsmodels>=0.13.0->linearmodels) (1.0
Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.11/dist-packages (from scikit-learn->shap) (1.4.2)
Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.11/dist-packages (from scikit-learn->shap) (3.6.0)
Downloading catboost-1.2.7-cp311-cp311-manylinux2014_x86_64.whl (98.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━ 84.8/98.7 MB 71.9 MB/s eta 0:00:01
ERROR: Operation cancelled by user
^C
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 4/28
09/04/2025 01:30 Untitled7.ipynb - Colab
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 5/28
09/04/2025 01:30 Untitled7.ipynb - Colab
Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.11/dist-packages (from scikit-learn->shap) (1.4.2)
Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.11/dist-packages (from scikit-learn->shap) (3.6.0)
Downloading catboost-1.2.7-cp311-cp311-manylinux2014_x86_64.whl (98.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.7/98.7 MB 8.0 MB/s eta 0:00:00
Downloading linearmodels-6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 49.5 MB/s eta 0:00:00
Downloading plotly-6.0.1-py3-none-any.whl (14.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.8/14.8 MB 86.1 MB/s eta 0:00:00
Downloading formulaic-1.1.1-py3-none-any.whl (115 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 115.7/115.7 kB 7.9 MB/s eta 0:00:00
Downloading mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB)
Downloading pyhdfe-0.2.0-py3-none-any.whl (19 kB)
Downloading setuptools_scm-8.2.0-py3-none-any.whl (43 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.9/43.9 kB 2.7 MB/s eta 0:00:00
Downloading interface_meta-1.3.0-py3-none-any.whl (14 kB)
Installing collected packages: setuptools-scm, plotly, mypy-extensions, interface-meta, pyhdfe, formulaic, catboost, linearmodels
Attempting uninstall: plotly
Found existing installation: plotly 5.24.1
Uninstalling plotly-5.24.1:
Successfully uninstalled plotly-5.24.1
Successfully installed catboost-1.2.7 formulaic-1.1.1 interface-meta-1.3.0 linearmodels-6.1 mypy-extensions-1.0.0 plotly-6.0.1 py
import pandas as pd
import numpy as np
import shap
import catboost
from matplotlib import pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.inspection import permutation_importance
from sklearn import preprocessing
import plotly_express as px
import plotly.io as io
io.renderers.default = 'colab'
import seaborn as sns
import statsmodels.api as sm
import statsmodels.formula.api as smf
from statsmodels.tools.sm_exceptions import ConvergenceWarning
from sklearn.preprocessing import MinMaxScaler
import re
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 6/28
09/04/2025 01:30 Untitled7.ipynb - Colab
import re
from linearmodels.panel import PanelOLS, RandomEffects
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-2-3c7ef9de062c> in <cell line: 0>()
----> 1 import pandas as pd
2 import numpy as np
3 import shap
4 import catboost
5 from matplotlib import pyplot as plt
6 frames
/usr/local/lib/python3.11/dist-packages/numpy/random/_pickle.py in <module>
----> 1 from .mtrand import RandomState
2 from ._philox import Philox
3 from ._pcg64 import PCG64, PCG64DXSM
4 from ._sfc64 import SFC64
5
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
Collecting numpy==1.26.4
Using cached numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
Using cached numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.3 MB)
Installing collected packages: numpy
Attempting uninstall: numpy
Found existing installation: numpy 1.26.4
Uninstalling numpy-1.26.4:
Successfully uninstalled numpy-1.26.4
Successfully installed numpy-1.26.4
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 7/28
09/04/2025 01:30 Untitled7.ipynb - Colab
import numpy as np
import pandas as pd
import numpy as np
import pandas as pd
import pandas as pd
import numpy as np
import shap
import catboost
from matplotlib import pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.inspection import permutation_importance
from sklearn import preprocessing
import plotly_express as px
import plotly.io as io
io.renderers.default = 'colab' # pour afficher les graphes dans Colab
import seaborn as sns
import statsmodels.api as sm
import statsmodels.formula.api as smf
from statsmodels.tools.sm_exceptions import ConvergenceWarning
from sklearn.preprocessing import MinMaxScaler
import re
from linearmodels.panel import PanelOLS, RandomEffects
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 9/28
09/04/2025 01:30 Untitled7.ipynb - Colab
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-5-d25b15e8853d> in <cell line: 0>()
8 from sklearn.inspection import permutation_importance
9 from sklearn import preprocessing
---> 10 import plotly_express as px
11 import plotly.io as io
12 io.renderers.default = 'colab' # pour afficher les graphes dans Colab
---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.
OPEN EXAMPLES
import plotly.express as px
import plotly.io as io
io.renderers.default = 'colab'
print("✅ Plotly fonctionne !")
✅ Plotly fonctionne !
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 10/28
09/04/2025 01:30 Untitled7.ipynb - Colab
from google.colab import files
uploaded = files.upload()
Afrique
0 1991 8790084 3144.504100 73.53 65.99 98.509251 57.372093
du Sud
Afrique
1 1992 8437701 3434.637439 53.89 56.41 97.706667 55.671200
du Sud
Afrique
2 1993 8519624 3461.334353 69.59 62.15 109.359829 62.817146
du Sud
Afrique
3 1994 9197842 3547.951415 78.19 63.50 108.496826 55.918216
du Sud
Afrique
4 1995 9135337 3904.324238 63.64 56.43 96.696924 56.814815
du Sud
5 rows × 27 columns
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 11/28
09/04/2025 01:30 Untitled7.ipynb - Colab
# Calcul de statistiques descriptives pour chaque pays
# Ici, on prend trois variables en exemple : prod_value, crop_prod_index, inf_pct
desc_stats = df.groupby('Pays')[['prod_value', 'crop_prod_index', 'inf_pct']].agg(['mean', 'std', 'min', 'max'])
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-11-678a183632dc> in <cell line: 0>()
1 # Calcul de statistiques descriptives pour chaque pays
2 # Ici, on prend trois variables en exemple : prod_value, crop_prod_index, inf_pct
----> 3 desc_stats = df.groupby('Pays')[['prod_value', 'crop_prod_index', 'inf_pct']].agg(['mean', 'std', 'min', 'max'])
4
5 # Afficher les statistiques calculées
1 frames
/usr/local/lib/python3.11/dist-packages/pandas/core/base.py in __getitem__(self, key)
237 if len(self.obj.columns.intersection(key)) != len(set(key)):
238 bad_keys = list(set(key).difference(self.obj.columns))
--> 239 raise KeyError(f"Columns not found: {str(bad_keys)[1:-1]}")
240 return self._gotitem(list(key), ndim=2)
241
df.columns.tolist()
['Année',
'Pays',
'Prod_brut_millier_US$',
'PIB_US$_habit',
'Crop_prod_index_WB',
'IP_FAOSTAT',
'FERTI%',
'FERTIKg/ha',
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 12/28
09/04/2025 01:30 Untitled7.ipynb - Colab
'Inflation.GDPdeflator(annual%)',
'Inflation.consumerprices(annual%)',
'Précipitat_moy_mm/an',
'Emploi_agricole_%',
'ΔTͦC',
'Conflit',
'Epidemic',
'Flood',
'Drought',
'Earthquake',
'Storm',
'Terresarables(%)',
'FERTI_N_kg/ha',
'FERTI_P205_kg/ha',
'FERTI_K2O_kg/ha',
'Pesticides(total)_tonnes',
'Insecticides_tonnes',
'Herbicides_tonnes',
'Indicedesprixàlaproduction(2014-2016=100)']
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 13/28
09/04/2025 01:30 Untitled7.ipynb - Colab
df.columns.tolist()
['year',
'Pays',
'prod_value',
'pib_habit',
'crop_prod_index',
'ip_faostat',
'FERTI_pct',
'FERTI_kg_ha',
'inf_pct',
'cpi_pct',
'precipitation',
'Emploi_agricole_pct',
'delta_t',
'Conflit',
'Epidemic',
'Flood',
'Drought',
'Earthquake',
'Storm',
'Terresarables(%)',
'FERTI_N_kg/ha',
'FERTI_P205_kg/ha',
'FERTI_K2O_kg/ha',
'Pesticides(total)_tonnes',
'Insecticides_tonnes',
'Herbicides_tonnes',
'ppi_pct']
# Calcul de statistiques descriptives pour chaque pays avec les noms de colonnes simplifiés
desc_stats = df.groupby('Pays')[[
'prod_value',
'crop_prod_index',
'inf_pct'
]].agg(['mean', 'std', 'min', 'max'])
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 14/28
09/04/2025 01:30 Untitled7.ipynb - Colab
# Afficher les statistiques
desc_stats
mean std min max mean std min max mean std min max
Pays
Afrique du
1.514965e+07 6.439492e+06 7043172 26274673 91.692813 16.893057 53.89 125.16 7.654703 2.955873 3.993295 15.6545
Sud
Mozambique 3.386417e+06 1.983750e+06 852303 7971229 90.954688 33.444313 37.04 157.47 12.930477 15.341387 1.085871 51.4598
Étapes suivantes : Générer du code avec desc_stats toggle_off Afficher les graphiques recommandés New interactive sheet
/usr/local/lib/python3.11/dist-packages/sklearn/utils/_array_api.py:776: RuntimeWarning:
/usr/local/lib/python3.11/dist-packages/sklearn/utils/_array_api.py:793: RuntimeWarning:
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 15/28
09/04/2025 01:30 Untitled7.ipynb - Colab
/usr/local/lib/python3.11/dist-packages/sklearn/utils/_array_api.py:776: RuntimeWarning:
/usr/local/lib/python3.11/dist-packages/sklearn/utils/_array_api.py:793: RuntimeWarning:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 96 entries, 0 to 95
Data columns (total 21 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 year 96 non-null int64
1 Pays 96 non-null object
2 prod_value 96 non-null float64
3 pib_habit 96 non-null float64
4 crop_prod_index 96 non-null float64
5 ip_faostat 96 non-null float64
6 FERTI_kg_ha 94 non-null float64
7 inf_pct 95 non-null float64
8 Emploi_agricole_pct 96 non-null float64
9 Conflit 96 non-null float64
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 16/28
09/04/2025 01:30 Untitled7.ipynb - Colab
10 Epidemic 96 non-null float64
11 Flood 96 non-null float64
12 Drought 96 non-null float64
13 Earthquake 96 non-null float64
14 Storm 96 non-null float64
15 Terresarables(%) 96 non-null float64
16 FERTI_N_kg/ha 94 non-null float64
17 Pesticides(total)_tonnes 96 non-null float64
18 Insecticides_tonnes 96 non-null float64
19 Herbicides_tonnes 96 non-null float64
20 ppi_pct 96 non-null float64
dtypes: float64(19), int64(1), object(1)
memory usage: 15.9+ KB
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 17/28
09/04/2025 01:30 Untitled7.ipynb - Colab
Intercept -0.2550 0.050 -5.111 0.000 -0.354 -0.156
pib_habit 0.5400 0.049 10.959 0.000 0.442 0.638
FERTI_kg_ha -0.0986 0.043 -2.291 0.024 -0.184 -0.013
inf_pct 0.0504 0.041 1.231 0.222 -0.031 0.132
Emploi_agricole_pct 0.2094 0.045 4.647 0.000 0.120 0.299
ppi_pct 0.8528 0.054 15.827 0.000 0.746 0.960
==============================================================================
Omnibus: 3.731 Durbin-Watson: 0.804
Prob(Omnibus): 0.155 Jarque-Bera (JB): 3.281
Skew: 0.279 Prob(JB): 0.194
Kurtosis: 3.732 Cond. No. 13.6
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 18/28
09/04/2025 01:30 Untitled7.ipynb - Colab
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 19/28
09/04/2025 01:30 Untitled7.ipynb - Colab
Skew: 0.966 Prob(JB): 0.0130
Kurtosis: 4.794 Cond. No. 28.3
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
# Effets fixes
fe_model = PanelOLS.from_formula(
'prod_value ~ pib_habit + FERTI_kg_ha + inf_pct + Emploi_agricole_pct + ppi_pct + EntityEffects',
data=panel_data
)
fe_results = fe_model.fit()
print("📘 Modèle à effets fixes (Fixed Effects)\n")
print(fe_results.summary)
# Effets aléatoires
re_model = RandomEffects.from_formula(
'prod_value ~ pib_habit + FERTI_kg_ha + inf_pct + Emploi_agricole_pct + ppi_pct',
data=panel_data
)
re_results = re_model.fit()
print("\n📗 Modèle à effets aléatoires (Random Effects)\n")
print(re_results.summary)
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 20/28
09/04/2025 01:30 Untitled7.ipynb - Colab
Parameter Std. Err. T-stat P-value Lower CI Upper CI
---------------------------------------------------------------------------------------
pib_habit 0.5425 0.0480 11.301 0.0000 0.4471 0.6380
FERTI_kg_ha -0.0900 0.0430 -2.0934 0.0393 -0.1754 -0.0045
inf_pct 0.0212 0.0412 0.5144 0.6083 -0.0607 0.1031
Emploi_agricole_pct 0.2261 0.0455 4.9668 0.0000 0.1356 0.3166
ppi_pct 0.8370 0.0550 15.207 0.0000 0.7276 0.9465
=======================================================================================
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 21/28
09/04/2025 01:30 Untitled7.ipynb - Colab
FERTI_kg_ha -0.1011 0.0488 -2.0718 0.0412 -0.1981 -0.0041
inf_pct -0.0177 0.0439 -0.4037 0.6874 -0.1049 0.0695
Emploi_agricole_pct 0.0066 0.0242 0.2716 0.7865 -0.0415 0.0547
ppi_pct 0.7544 0.0571 13.221 0.0000 0.6410 0.8677
=======================================================================================
# Trier les données par pays et année (obligatoire pour la fenêtre glissante)
df_res = selected_columns.sort_values(['Pays', 'year'])
# Vérifier le résultat
df_res[['Pays', 'year', 'prod_value', 'resilience']].head(10)
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 22/28
09/04/2025 01:30 Untitled7.ipynb - Colab
# 1) Fixed effects
fe_res_model = PanelOLS.from_formula('resilience ~ pib_habit + FERTI_kg_ha + inf_pct + Emploi_agricole_pct + ppi_pct + EntityEffects', d
fe_res_model_results = fe_res_model.fit()
print(fe_res_model_results.summary)
# 2) Random effects
re_res_model = RandomEffects.from_formula('resilience ~ pib_habit + FERTI_kg_ha + inf_pct + Emploi_agricole_pct + ppi_pct', data = panel
re_res_model_results = re_res_model.fit()
print(re_res_model_results.summary)
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 23/28
09/04/2025 01:30 Untitled7.ipynb - Colab
Min Obs: 2.0000
Max Obs: 3.0000
Parameter Estimates
=======================================================================================
Parameter Std. Err. T-stat P-value Lower CI Upper CI
---------------------------------------------------------------------------------------
pib_habit 0.1081 0.0282 3.8326 0.0003 0.0520 0.1642
FERTI_kg_ha -0.0378 0.0251 -1.5030 0.1368 -0.0878 0.0122
inf_pct 0.0082 0.0264 0.3106 0.7569 -0.0444 0.0608
Emploi_agricole_pct 0.0774 0.0265 2.9165 0.0046 0.0246 0.1302
ppi_pct 0.1128 0.0322 3.4994 0.0008 0.0487 0.1770
=======================================================================================
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 24/28
09/04/2025 01:30 Untitled7.ipynb - Colab
---------------------------------------------------------------------------------------
pib_habit 0.0704 0.0197 3.5819 0.0006 0.0313 0.1095
FERTI_kg_ha -0.0312 0.0246 -1.2667 0.2088 -0.0802 0.0178
inf_pct -0.0062 0.0246 -0.2512 0.8023 -0.0551 0.0427
Emploi_agricole_pct 0.0295 0.0127 2.3267 0.0224 0.0043 0.0548
ppi_pct 0.0830 0.0289 2.8710 0.0052 0.0255 0.1405
=======================================================================================
/usr/local/lib/python3.11/dist-packages/linearmodels/panel/model.py:2759: MissingValueWarning:
# Estimation du modèle
lin_model_est2 = smf.ols(lin_model2, data=df_res).fit()
# Résultats
print(lin_model_est2.summary())
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 25/28
09/04/2025 01:30 Untitled7.ipynb - Colab
ppi_pct 0.1008 0.031 3.299 0.001 0.040 0.162
==============================================================================
Omnibus: 12.815 Durbin-Watson: 1.512
Prob(Omnibus): 0.002 Jarque-Bera (JB): 14.239
Skew: 0.796 Prob(JB): 0.000809
Kurtosis: 4.162 Cond. No. 13.4
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 26/28
09/04/2025 01:30 Untitled7.ipynb - Colab
0.35
0.3
Std. Dev. of Production Value
0.25
0.2
0.15
0.1
0.05
0
Afrique du Sud Mozambique
country
# Different colors
fig = px.bar(resilience_df, x='country', y='resilience',
color='resilience', color_continuous_scale='Viridis')
fig.show()
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 27/28
09/04/2025 01:30 Untitled7.ipynb - Colab
0.35
resilience
0.33
0.3
0.32
0.25
0.31
0.2
resilience
0.3
0.15
0.29
0.1 0.28
0.27
0.05
0.26
0
Afrique du Sud Mozambique Rwanda
country
# Horizontal bars
fig = px.bar(resilience_df, x='resilience', y='country', orientation='h')
fig.show()
https://colab.research.google.com/drive/1-inbqYZTiEg6p8mP99X2w9THpPcMBdEC?authuser=0#scrollTo=0cCuI2zu55q_&printMode=true 28/28