Bonjour. Je suis un étudiant diplômé en économie agricole.
Du coup, parmi ceux qui étudient l'économie et s'intéressent également à la programmation Quelqu'un a-t-il utilisé CGE (équilibre général calculable) ou SAM (matrice de comptabilité sociale), qui sont utilisés dans l'évaluation des politiques, dans leurs recherches? Même si j'avais très envie d'une telle méthode de simulation, je ne pouvais pas l'utiliser dans mes recherches pour diverses raisons ** Note 1 ** </ sup>.
Cependant, je voulais vraiment l'essayer moi-même, alors j'ai pensé que je n'aurais plus à l'utiliser pour la recherche, alors j'ai décidé de créer un logiciel de simulation d'économie agricole comme passe-temps. De plus, c'est ennuyeux de le faire normalement, alors j'espère que cela finira par ressembler à un jeu et vendu comme un jeu indépendant sur STEAM. Au pire, ce serait intéressant si vous pouviez faire une vidéo sur youtube ou niconico (comme un système biim, etc.).
Après de nombreux essais et erreurs dans le cadre de la motivation ci-dessus, j'ai pu simuler la maximisation de l'utilité de l'agriculteur, qui est le modèle du jeu de simulation de l'économie paysanne, je vais donc garder une trace tout en prenant en sandwich l'explication du modèle de manière appropriée.
Cet article python 3.8.3 scipy 1.5.0 Est utilisé sur le notebook jupyter. (Est-ce cette façon d'écrire ...?)
Ci-dessous, j'ai expliqué comment résoudre le problème de maximisation de l'utilité, qui était au cœur de la simulation, et comment définir le comportement des agriculteurs. Je pense que c'est correct de voler vers le prochain article pour ceux qui sont bâclés ou qui ne sont pas intéressés par l'établissement de modèles économiques agricoles. Je donnerai une explication minimale la prochaine fois.
L'agriculteur de ce modèle ne produit que le grain A, qui est l'aliment principal de la zone supposée. Et je mange, vends et achète une certaine quantité de céréales A pour satisfaire mon appétit.
La superficie présumée est le Mexique rural et l'image du grain A est celle du maïs fourrager.
Dans le processus de maximisation de leur utilité, les agriculteurs de ce modèle attribuent les terres agricoles et la main-d'œuvre aux trois moyens de gagner un revenu: la production de céréales A, la main-d'œuvre non agricole et le bail foncier. Cependant, dans l'état où l'utilité est maximisée, en fonction des conditions fixées par l'agriculteur, «Vendre le surplus après autosuffisance en grain A», «Faire le grain A uniquement pour soi», «L'autosuffisance en grain A suffit» Il y a diverses choses comme «acheter ce que vous n'avez pas aux autres».
Par conséquent, d'après Janvry (1991), les trois modèles ci-dessus net-seller = "Vendre le surplus après l'autosuffisance en grain A" Producteur autonome = "Faites du grain A rien que pour vous" net-Buyer = "Céréales A autosuffisantes et acheter la pénurie à d'autres"
Divisée en.
Comme il ressort clairement de la classification ci-dessus, bien que les trois types d'agriculteurs ci-dessus soient des «agriculteurs», seuls les vendeurs nets peuvent gagner un revenu agricole.
Dans ce modèle, la "fonction d'utilité" est supposée être la fonction objective d'optimisation. Les avantages sont obtenus en consommant des «loisirs» et des «autres biens». À proprement parler, le «loisir» s'obtient en allouant le temps que vous possédez et «les autres biens» s'obtiennent en achetant.
La consommation de grain A a été exclue de la fonction d'utilité, et une contrainte a été créée en supposant qu'une certaine quantité doit être consommée (appelée contrainte de satiété).
Les vendeurs en ligne n'ont pas d'autre choix que de fabriquer et de vendre du grain A sur leurs terres agricoles, Les acheteurs nets et les agriculteurs autosuffisants peuvent tirer un revenu de la main-d’œuvre non agricole et du bail foncier.
Dans ce modèle, le vendeur net et l'acheteur net imposent des coûts de transaction lors de l'achat et de la vente de céréales A ** Note 2 ** </ sup>. Pour le vendeur net, lors de la vente du grain A, (prix-coût de transaction) devient le prix, Pour l'acheteur net, le prix est (prix + coût de transaction) lorsque vous achetez du grain A.
De même, les vendeurs nets, les agriculteurs autosuffisants et les acheteurs nets ont facturé les coûts de transaction de la même manière que ci-dessus lorsqu'ils achètent et vendent de la main-d'œuvre.
Voir Janvry (1991) pour savoir pourquoi j'ai mis cela. En gros, il en coûte de l'argent pour trouver un marché pour acheter et vendre et pour transporter le grain A. À l'origine, si le marché fonctionne correctement, en théorie, tous les agriculteurs devraient être «vendeur net» ou «acheteur net». Un "agriculteur autosuffisant" est né dans les conditions dans lesquelles ces coûts de transaction sont encourus.
Bumpy, la solution optimale n'est pas "calculée". En utilisant la fonction minimiser de scipy.optimize, j'ai trouvé une solution comme celle-ci par la méthode SLSQP.
Je suis sûr qu'il y a des gens qui ont pensé: "Hé, ce n'est pas bien", alors laissez-moi vous donner une excuse.
En fait, j'ai initialement pensé à un modèle paysan qui produit plusieurs cultures en définissant une fonction de type Cobb-Douglas pour la fonction d'utilité et la fonction de production. Au début, je pensais trouver la solution optimale par calcul manuel et copier le résultat dans le code, mais c'était gênant + cela semblait impossible selon le type de modèle, j'ai donc décidé de trouver la solution avec la fonction minimiser. La méthode SLSPQ a été utilisée comme méthode pour trouver la solution optimale car la fonction objectif et la contrainte ne sont pas linéaires. Cependant, je n'ai pas pu trouver la solution optimale, j'ai donc arrêté Cobb-Douglas et continué à utiliser un type fonctionnel plus simple.
Ensuite, j'ai collé la formule du problème d'optimisation ci-dessous.
net-seller Max
U = a_oC_o+a_ll+{1/2}*(a_{o,o}C_o^2+a_{l,l}l^2+a_{o,l}*C_o*l)...(1)
s.t.
(p_a-t_a)*(Yield*Equip*La-appe)>(w+t_w)Ln+r*An+p_oC_o+MilkMeat...(2:Contrainte de liquidité) \\ Yield*Equip*La>appe...(3:Contrainte de satiété) \\ (Aa+An)/(La+Ln)=Equip...(4:Contraintes de taux d'équipement terrestre) \\ L>La+l...(5:Contraintes de dotation en main-d'œuvre) \\ A>Aa...(6:Contrainte de dotation en terres agricoles) \\Toutes les variables>0
$ U $: Utilité (satisfaction) $ a_o, a_l, a_ {o, o}, a_ {ll}, a_ {o, l} $: paramètre de modèle secondaire ** Note 3 ** </ sup>. $ C_o $: Consommation d'autres biens (l'image est Netflix ou un jeu de facturation pour smartphone) $ L, La, l $: Travail propre (24-6 = 18 heures), travail utilisé pour la production du grain A, loisirs $ A, Aa $: Superficie des terres agricoles possédées (2 ha), terres agricoles utilisées pour la production de céréales A $ Ln, An $: main-d'œuvre salariée, terres agricoles louées $ w, r, t_W, p_a, t_a, p_o $: Salaire (salaire horaire), loyer foncier (1 saison), coût de transaction lors de la participation à la main-d'œuvre non agricole (par volume de transaction), prix du grain A, achat du grain A Coûts de transaction occasionnels et prix d'autres biens $ appe, MilkMeat, Rendement, Equip $: appétit (constant, consommation de grain A 1 saison), consommation de lait et de viande (constant, 1 saison), rendement unitaire (constant, kg / ha), taux d'équipement terrestre (Constante, ha / heure)
max
U = a_oC_o+a_ll+{1/2}*(a_{o,o}C_o^2+a_{l,l}l^2+a_{o,l}*C_o*l)...(1)
s.t.
(w-t_w)Ln+rAn>p_oC_o+MilkMeat...(2:Contrainte de liquidité) \\ Yield*Equip*La>appe...(3:Contrainte de satiété) \\ Aa/La=Equip...(4:Contraintes de taux d'équipement terrestre) \\ L>La+Ln+l...(5:Contraintes de dotation en main-d'œuvre) \\ A>Aa+An...(6:Contrainte de dotation en terres agricoles) \\Toutes les variables>0
$ U $: Utilité (satisfaction) $ a_o, a_l, a_ {o, o}, a_ {ll}, a_ {o, l} $: paramètre de modèle secondaire ** Note 3 ** </ sup>. $ C_o $: Consommation d'autres biens (l'image est Netflix ou un jeu de facturation pour smartphone) $ L, La, Ln, l $: Travail propre (24-6 = 18 heures), travail utilisé pour la production de céréales A, travail non agricole, loisirs $ A, Aa, An $: Superficie des terres agricoles possédées (2 ha), terres agricoles utilisées pour la production de céréales A, terres agricoles louées $ w, r, t_W, p_o $: Salaire (salaire horaire), rente foncière (1 saison), coût de transaction lors de la participation à une main-d'œuvre non agricole (par volume de transaction), prix des autres biens $ appe, MilkMeat, Rendement, Equip $: appétit (constant, consommation de grain A 1 saison), consommation de lait et de viande (constant, 1 saison), rendement unitaire (constant, kg / ha), taux d'équipement terrestre (Constante, ha / heure)
net-buyer max
U = a_oC_o+a_ll+{1/2}*(a_{o,o}C_o^2+a_{l,l}l^2+a_{o,l}*C_o*l)...(1)
s.t.
(w-t_w)Ln+rAn>(p_a+t_a)C_a+p_oC_o+MilkMeat...(2:Contrainte de liquidité) \\ Yield*Equip*La+C_a>appe...(3:Contrainte de satiété) \\ Aa/La=Equip...(4:Contraintes de taux d'équipement terrestre) \\ L>La+Ln+l...(5:Contraintes de dotation en main-d'œuvre) \\ A>Aa+An...(6:Contrainte de dotation en terres agricoles) \\Toutes les variables>0
$ U $: Utilité (satisfaction) $ a_o, a_l, a_ {o, o}, a_ {ll}, a_ {o, l} $: paramètre de modèle secondaire ** Note 3 ** </ sup>. $ C_a, C_o $: quantité d'achat de grain A, quantité de consommation d'autres biens (l'image est Netflix et le jeu de facturation pour smartphone) $ L, La, Ln, l $: Travail propre (24-6 = 18 heures), travail utilisé pour la production de céréales A, travail non agricole, loisirs $ A, Aa, An $: Superficie des terres agricoles possédées (2 ha), terres agricoles utilisées pour la production de céréales A, terres agricoles louées $ w, r, t_W, p_a, t_a, p_o $: Salaire (salaire horaire), loyer foncier (1 saison), coût de transaction lors de la participation à la main-d'œuvre non agricole (par volume de transaction), prix du grain A, achat du grain A Coûts de transaction occasionnels et prix d'autres biens $ appe, MilkMeat, Rendement, Equip $: appétit (constant, consommation de grain A 1 saison), consommation de lait et de viande (constant, 1 saison), rendement unitaire (constant, kg / ha), taux d'équipement terrestre (Constante, ha / heure)
Un modèle quadratique a été utilisé en référence à la note 3. Le coefficient multiplié par l et Co est l'utilité obtenue lorsque chaque propriété est consommée. Le coefficient multiplié par l × Co est l'utilité obtenue lorsque deux sont consommés en même temps (quel est le nom?). La raison pour laquelle il y a un avantage à consommer deux en même temps est qu'il n'y a pas de personne heureuse s'il n'y a que du temps libre, et il n'y a pas de personne heureuse s'il n'y a que Netflix ou jeu pour smartphone, et il faut avoir du temps pour jouer et quelque chose à jouer en même temps. ..
Le plus gros problème est probablement la fonction de production. En général, l'économie suppose un effet marginal décroissant pour chaque facteur d'entrée. Par conséquent, des types fonctionnels qui peuvent exprimer cette hypothèse sont souvent utilisés.
Je pensais donc que le type Cobb-Douglas était probablement le plus sûr, mais comme mentionné ci-dessus, je ne pouvais pas trouver la solution optimale dans ce cas. Le type Cobb-Douglas est une fonction concave, donc il ne devrait y avoir aucun problème, mais probablement beaucoup d'expressions contraintes sont mauvaises.
Donc, après m'être inquiété pendant deux mois, je me suis retrouvé avec le sentiment ci-dessus. Mais je voulais vraiment utiliser le type Cobb-Douglas ...
Chaque paramètre utilisé pour maximiser l'utilité a été extrait des données réelles et des matériaux de référence. Voici l'explication.
Si vous faites vraiment le coefficient de la fonction d'utilité, vous devez probablement faire une estimation de type structurel (je ne l'ai jamais fait). Nous avons utilisé la part de consommation des résultats de l'enquête sur la consommation des ménages au Mexique. L'utilité lors de la consommation de deux produits en même temps est correctement définie.
En fait, en supposant Cobb = fonction d'utilité de type Douglas + rendement constant, cette méthode est théoriquement correcte, mais cette fois j'ai utilisé un modèle quadratique, donc ce ne devrait pas être exactement la bonne méthode. S'il s'agit d'un modèle quadratique, les paramètres peuvent-ils être calculés à partir de la part de la consommation? Je ne sais pas car la théorie est difficile.
Plus précisément, le coefficient de la fonction d'utilité a été calculé comme suit. Résultats de l'enquête 2018 sur la consommation des ménages (ENIGH) ** Note 4 ** </ sup> "trabajos_2018.csv", "poblacion_2018.csv", "concentradohogar_2018.csv" publié par l'Institut national mexicain de statistiques géographiques (INEGI) J'ai utilisé. Les valeurs calculées sont (1) les salaires moyens des non-indépendants à la campagne, (2) la part de la consommation calculée en utilisant les loisirs comme dépenses d'opportunité, et (3) la part de la consommation d'articles non nécessaires.
Je n'ai pas trouvé de données mexicaines sur Equip (ratio d'équipement terrestre), j'ai donc utilisé les données pour le maïs fourrager au Japon ** Note 5 ** </ sup>.
〇 Taux d'équipement terrestre (p24) Heures de travail par 10 a dans les préfectures nécessaires pour l'ensemble du processus de production de maïs fourrager Lié au semis: 1,2 h, top dressing: 0,8 h, récolte: 1,6 h, bouturage et farce: 1,6 h → 5,2 heures / 10a = 52 heures / ha → Taux d'équipement terrestre: 1/52 (ha / heure)
〇 Combien de jours pensez-vous pour une saison? (P32) Ici, les variétés avec une maturité relative de 110-120 jours sont supposées, donc → Jours de culture: 4 mois = 120 jours
Je n'ai pas vraiment trouvé la redevance foncière, alors j'ai fait référence aux résultats de mon entretien personnel au Mexique. L'agriculteur interrogé a loué une serre de 0,1 ha pour 2000péso. → On suppose qu'un hectare de terres agricoles peut être loué pour 2000 péso.
En supposant qu'une saison = quatre mois de location de terres agricoles Coût du terrain par 4 mois: 2000 * 4 = 8000peso Aussi, Travail doté par 4 mois: (24-6) * 30 * 4
〇 Pendant un an en 2018, agriculture pluviale (temporelle), à l'échelle nationale Superficie plantée: 396397,92 ha, rendement: 8324248200 kg, valeur de production: 5024207380 peso → Prix: 5024207380/8324248200 = 0,6036 (peso / kg) → Rendement unitaire: 5024207380 / 396397,92 = 12675 (kg / ha) Valeur de production par unité de surface par mois: 1912 (peso / ha), valeur de production par unité de surface par jour: 64 (peso / ha)
Je ne le savais pas non plus, alors j'ai utilisé les résultats de mon entretien personnel au Mexique.
〇 Dépenses alimentaires générales du ménage pour une journée (père, mère, deux fils = quatre dépenses alimentaires) Viande: 130 peso / kg → 130/4 peso / 0,25 kg / personne Tortilla: 15 peso / kg → 15/4 peso / 0,25 kg / personne Lait: 25 peso / L → 25/4 peso / 0,25L / personne
Comme il est gênant, on suppose que 1 kg de tortilla = 1 kg de maïs. → Consommation journalière de viande (0,25 kg) et de lait (0,25 L): 130/4 + 25/4 (peso / personne) → Consommation quotidienne de tortillas: 15/4 → Une personne mange 0,25 kg de tortillas par jour. En supposant
À la suite de la même interview, il a déclaré que le coût du transport pour aller au travail était d'environ 20 pesos. Par conséquent, le coût de transaction pour la main-d'œuvre externe est de 20 pesos. → Comme je l'ai remarqué maintenant, dans ce modèle, 20peso a été défini comme le coût par force de travail en entrée, mais cela devrait être le coût de transaction fixe. Est-ce OK?
Il semble que la consommation quotidienne d'un ménage normal soit d'environ 200 pesos, donc De manière appropriée, il est fixé à 30 pesos, en supposant qu'un autre bien de consommation est consommé par jour.
C'est tout pour fixer les conditions. La prochaine fois, je vous montrerai le code, mais je ne refuserai que deux points.
Tout d'abord, ce n'est pas une simulation complète. Puisque nous visons un "jeu" d'économie agricole dans lequel de nombreux agriculteurs coopèrent / s'affrontent, nous prévoyons de l'amener sous forme de simulation multi-agents à la fin. J'ai donc assemblé le code de manière extensible multi-agents. Veuillez noter que cela peut être difficile à voir comme une simple simulation.
Ensuite, dans cette simulation, nous utilisons scipy.optimize en Python pour trouver de force une telle solution sans calculer la solution optimale. Donc, je ne pense pas que ce soit vrai, mais soyez prudent si vous utilisez ce code pour créer du matériel qui nécessite une discussion rigoureuse. Ce n'est peut-être pas la solution optimale globale. De plus, le type fonctionnel de la fonction de production et l'estimation des paramètres de la fonction d'utilité sont probablement de mauvaises méthodes.
Enfin, s'il existe "des personnes familiarisées avec les modèles économiques" ou "des personnes familiarisées avec la résolution de problèmes d'optimisation à l'aide de langages de programmation", J'apprécierais tout conseil sur la façon de faire un bon modèle de simulation.
Rendez-vous à nouveau la prochaine fois.
** Note 1 ** </ sup> (1) Le prix des logiciels fréquemment utilisés (GAMS, etc.) est élevé, (2) Il est difficile de trouver l'importance de la recherche, et (3) Apprenez à utiliser des logiciels dédiés. Est gênant.
** Note 2 ** </ sup> Dans le futur, j'aimerais rendre ce coût de transaction différent en fonction des conditions de l'agriculteur. Par exemple, un agriculteur éloigné du marché aura des coûts de transport et de transaction plus élevés en raison de la distance.
** Note 3 ** </ sup> Yukinobu Kitamura "1999 Comparative Statistical System Theory, Lecture Materials (?)" Http://www.ier.hit-u.ac.jp/~kitamura/lecture /Hit/99Statsys4_c.pdf
** Note 4 ** </ sup> https://www.inegi.org.mx/programas/enigh/nc/2018/
** Note 5 ** </ sup> Tsutomu Kanno "État actuel de la culture du maïs fourrager et développement technologique pour l'expansion future des plantations" https://www.maff.go.jp/kanto/seisan/ tikusan / kihon_zyoho / pdf / corn_gizyutu.pdf
** Remarque 6 ** </ sup> https://www.gob.mx/siap
Recommended Posts