[PYTHON] Farmer's Economy Simulation ① (Netzverkäufer, autarker Landwirt, Nutzenmaximierungsmaßnahme des Nettokäufers) _Erläuterung

Hallo. Ich bin ein Doktorand, der Agrarökonomie studiert.

Plötzlich unter denen, die Wirtschaftswissenschaften studieren und sich auch für Programmierung interessieren Hat jemand in seiner Forschung CGE (berechenbares allgemeines Gleichgewicht) oder SAM (Social Accounting Matrix) verwendet, die bei der Bewertung von Richtlinien verwendet werden? Obwohl ich mich nach einer solchen Simulationsmethode sehnte, konnte ich sie aus verschiedenen Gründen nicht für meine Forschung verwenden. ** Anmerkung 1 ** </ sup>.

Ich wollte es jedoch unbedingt selbst ausprobieren, also dachte ich, dass ich es nicht mehr für Forschungszwecke verwenden müsste, und beschloss, eine Software zur Simulation der Agrarwirtschaft als Hobby zu entwickeln. Außerdem ist es langweilig, es einfach normal zu machen, also hoffe ich, dass es irgendwann wie ein Spiel geformt und als Indie-Spiel auf STEAM verkauft wird. Im schlimmsten Fall wäre es interessant, wenn Sie ein Video auf Youtube oder Niconico machen könnten (wie ein Biim-System usw.).

Nach vielen Versuchen und Irrtümern unter der oben genannten Motivation konnte ich die Nutzenmaximierung des Landwirts simulieren, die das Modell des Farmer-Economy-Simulationsspiels ist. Daher werde ich Aufzeichnungen führen, während ich die Erklärung des Modells entsprechend einfügte.

Umweltinformationen

Dieser Beitrag python 3.8.3 scipy 1.5.0 Wird auf dem Jupyter-Notebook verwendet. (Ist das der Weg zu schreiben ...?)

Erläuterung des angenommenen Agrarwirtschaftsmodells

Im Folgenden habe ich erklärt, wie das Problem der Nutzenmaximierung, das den Kern der Simulation bildete, gelöst und das Verhalten der Landwirte festgelegt wird. Ich denke, es ist in Ordnung, zum nächsten Artikel für diejenigen zu fliegen, die schlampig sind oder nicht daran interessiert sind, landwirtschaftliche Wirtschaftsmodelle zu setzen. Ich werde beim nächsten Mal eine minimale Erklärung geben.

Erklärung des Modells mit Worten

Welche Art von Ernte machen die Bauern?

Der Landwirt dieses Modells produziert nur Getreide A, das das Hauptnahrungsmittel des angenommenen Gebiets ist. Und ich esse, verkaufe und kaufe eine bestimmte Menge Getreide A, um meinen Appetit zu stillen.

Das angenommene Gebiet ist das ländliche Mexiko, und das Bild von Getreide A ist Futtermais.

Bei der Maximierung des Nutzens werden die Landwirte in "hauptsächlich verkaufende Landwirte", "autarke Landwirte" und "hauptsächlich kaufende Landwirte" unterteilt.

Um ihren Nutzen zu maximieren, teilen die Landwirte in diesem Modell Ackerland und Arbeitskräfte den drei Einkommensquellen zu: Produktion von Getreide A, nichtlandwirtschaftliche Arbeitskräfte und Landpacht. In dem Zustand, in dem der Nutzen maximiert wird, "abhängig von den vom Landwirt festgelegten Bedingungen:" Verkaufen Sie den Überschuss nach der Selbstversorgung mit Getreide A "," Machen Sie Getreide A nur für sich selbst "," Selbstversorgung mit Getreide A ist ausreichend ". Es gibt verschiedene Dinge wie "Kaufen Sie, was Sie nicht von anderen haben".

Basierend auf Janvry (1991) sind daher die obigen drei Muster net-seller = "Verkaufe den Überschuss nach Selbstversorgung mit Getreide A" Autarker Landwirt = "Machen Sie Getreide A nur für sich selbst" net-purchase = "Autarkes Getreide A und kaufe den Mangel von anderen"

Eingeteilt in.

Wie aus der obigen Klassifizierung hervorgeht, können nur Nettoverkäufer landwirtschaftliches Einkommen erzielen, obwohl die oben genannten drei Muster von Landwirten "Landwirte" sind.

Was konsumieren Landwirte als Verbraucher?

In diesem Modell wird "Nutzenfunktion" als Zielfunktion der Optimierung angenommen. Vorteile werden durch den Konsum von "Freizeit" und "anderen Gütern" erzielt. Genau genommen wird "Freizeit" durch Zuweisung der Zeit, die Sie besitzen, und "andere Waren" durch Kauf erhalten.

Der Verbrauch von Getreide A wurde von der Nutzfunktion ausgeschlossen, und es wurde eine Einschränkung erstellt, die davon ausgeht, dass eine bestimmte Menge verbraucht werden muss (als Sättigungsbeschränkung bezeichnet).

Wie bekomme ich nichtlandwirtschaftliches Einkommen?

Netzverkäufer haben keine andere Wahl, als Getreide A auf ihrem Ackerland herzustellen und zu verkaufen. Nettokäufer und autarke Landwirte können Einkommen aus außerbetrieblichen Arbeitskräften und Landpacht verdienen.

Ich habe auch die Transaktionskosten berücksichtigt

In diesem Modell verursachen Nettoverkäufer und Nettokäufer Transaktionskosten beim Kauf und Verkauf von Getreide A ** Anmerkung 2 ** </ sup>. Für den Nettoverkäufer wird beim Verkauf von Getreide A (Preis-Transaktionskosten) der Preis, Für den Nettokäufer beträgt der Preis (Preis + Transaktionskosten) beim Kauf von Getreide A.

In ähnlicher Weise berechneten Nettoverkäufer, autarke Landwirte und Nettokäufer die Transaktionskosten auf die gleiche Weise wie oben beim Kauf und Verkauf von Arbeitskräften.

Siehe Janvry (1991), warum ich das hier eingefügt habe. Grob gesagt kostet es Geld, einen Markt zum Kaufen und Verkaufen und zum Transport von Getreide A zu finden. Wenn der Markt ordnungsgemäß funktioniert, sollten theoretisch alle Landwirte "Nettoverkäufer" oder "Nettokäufer" sein. Unter den Bedingungen, unter denen solche Transaktionskosten anfallen, werden "autarke Landwirte" geboren.

Wie haben Sie die optimale Lösung gefunden?

Holprig, die optimale Lösung wird nicht "berechnet". Mit der Minimierungsfunktion von scipy.optimize habe ich eine solche Lösung mit der SLSQP-Methode gefunden.

Ich bin sicher, es gibt Leute, die dachten: "Hey, das ist nicht richtig." Lassen Sie mich eine Entschuldigung vorbringen.

Eigentlich dachte ich an ein Bauernmodell, das mehrere Pflanzen produziert, indem es eine Cobb-Douglas-Funktion für die Nutzfunktion und die Produktionsfunktion festlegt. Zuerst dachte ich daran, die optimale Lösung durch manuelle Berechnung und Kopieren des Ergebnisses in den Code zu finden, aber es schien je nach problematischem + Modelltyp unmöglich, also entschied ich mich, die Lösung mit der Minimierungsfunktion zu finden. Die SLSPQ-Methode wurde als Methode zum Finden der optimalen Lösung verwendet, da sowohl die Zielfunktion als auch die Einschränkung nicht linear sind. Da ich jedoch nicht die optimale Lösung finden konnte, stoppte ich Cobb-Douglas und verwendete weiterhin einen einfacheren Funktionstyp.

Dann habe ich die Formel des Optimierungsproblems unten eingefügt.

Gleichung zur Maximierung des Nutzenproblems

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:Liquiditätsengpässe) \\ Yield*Equip*La>appe...(3:Sättigungsbeschränkung) \\ (Aa+An)/(La+Ln)=Equip...(4:Ratenbeschränkungen für Landausrüstung) \\ L>La+l...(5:Arbeitskräftebeschränkungen) \\ A>Aa...(6:Begrenzung der Ausstattung mit landwirtschaftlichen Flächen) \\Alle Variablen>0

$ U $: Nutzen (Zufriedenheit) $ a_o, a_l, a_ {o, o}, a_ {ll}, a_ {o, l} $: Parameter des quadratischen Modells ** Anmerkung 3 ** </ sup>. $ C_o $: Verbrauch anderer Waren (Bild ist Netflix oder Abrechnungs-Smartphone-Spiel) $ L, La, l $: Eigene Arbeit (24-6 = 18 Stunden), Arbeit für die Getreide-A-Produktion, Freizeit $ A, Aa $: Eigenes Ackerland (2 ha), Ackerland für die Getreide-A-Produktion $ Ln, An $: Arbeitskräfte, gemietetes Ackerland $ w, r, t_W, p_a, t_a, p_o $: Lohn (Stundenlohn), Grundrente (1 Saison), Transaktionskosten bei Teilnahme an nichtlandwirtschaftlichen Arbeitskräften (pro Transaktionsvolumen), Preis für Getreide A, Kauf von Getreide A. Gelegentliche Transaktionskosten und Preise anderer Waren $ appe, MilkMeat, Yield, Equip $: Appetit (konstant, Verbrauch von Getreide A in einer Saison), Verbrauch von Milch und Fleisch (konstant, eine Saison), Einheitsertrag (konstant, kg / ha), Landausrüstungsrate (Konstante, ha / Stunde)

Autarker Landwirt

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:Liquiditätsengpässe) \\ Yield*Equip*La>appe...(3:Sättigungsbeschränkung) \\ Aa/La=Equip...(4:Ratenbeschränkungen für Landausrüstung) \\ L>La+Ln+l...(5:Arbeitskräftebeschränkungen) \\ A>Aa+An...(6:Begrenzung der Ausstattung mit landwirtschaftlichen Flächen) \\Alle Variablen>0

$ U $: Nutzen (Zufriedenheit) $ a_o, a_l, a_ {o, o}, a_ {ll}, a_ {o, l} $: Parameter des quadratischen Modells ** Anmerkung 3 ** </ sup>. $ C_o $: Verbrauch anderer Waren (Bild ist Netflix oder Abrechnungs-Smartphone-Spiel) $ L, La, Ln, l $: Eigenarbeit (24-6 = 18 Stunden), Arbeit für die Getreide-A-Produktion, nichtlandwirtschaftliche Arbeit, Freizeit $ A, Aa, An $: Eigenes Ackerland (2 ha), Ackerland für die Getreide-A-Produktion, gemietetes Ackerland $ w, r, t_W, p_o $: Lohn (Stundenlohn), Grundrente (1 Saison), Transaktionskosten bei Teilnahme an nichtlandwirtschaftlichen Arbeitskräften (pro Transaktionsvolumen), Preis für andere Waren $ appe, MilkMeat, Yield, Equip $: Appetit (konstant, Verbrauch von Getreide A in einer Saison), Verbrauch von Milch und Fleisch (konstant, eine Saison), Einheitsertrag (konstant, kg / ha), Landausrüstungsrate (Konstante, ha / Stunde)

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:Liquiditätsengpässe) \\ Yield*Equip*La+C_a>appe...(3:Sättigungsbeschränkung) \\ Aa/La=Equip...(4:Ratenbeschränkungen für Landausrüstung) \\ L>La+Ln+l...(5:Arbeitskräftebeschränkungen) \\ A>Aa+An...(6:Begrenzung der Ausstattung mit landwirtschaftlichen Flächen) \\Alle Variablen>0

$ U $: Nutzen (Zufriedenheit) $ a_o, a_l, a_ {o, o}, a_ {ll}, a_ {o, l} $: Parameter des quadratischen Modells ** Anmerkung 3 ** </ sup>. $ C_a, C_o $: Kaufmenge von Getreide A, Verbrauchsmenge anderer Waren (Bild ist Netflix und Abrechnung des Smartphone-Spiels) $ L, La, Ln, l $: Eigenarbeit (24-6 = 18 Stunden), Arbeit für die Getreide-A-Produktion, nichtlandwirtschaftliche Arbeit, Freizeit $ A, Aa, An $: Eigenes Ackerland (2 ha), Ackerland für die Getreide-A-Produktion, gemietetes Ackerland $ w, r, t_W, p_a, t_a, p_o $: Lohn (Stundenlohn), Grundrente (1 Saison), Transaktionskosten bei Teilnahme an nichtlandwirtschaftlichen Arbeitskräften (pro Transaktionsvolumen), Preis für Getreide A, Kauf von Getreide A. Gelegentliche Transaktionskosten und Preise anderer Waren $ appe, MilkMeat, Yield, Equip $: Appetit (konstant, Verbrauch von Getreide A in einer Saison), Verbrauch von Milch und Fleisch (konstant, eine Saison), Einheitsertrag (konstant, kg / ha), Landausrüstungsrate (Konstante, ha / Stunde)

Informationen zur Dienstprogrammfunktion

Ein quadratisches Modell wurde unter Bezugnahme auf Anmerkung 3 verwendet. Der mit l und Co multiplizierte Koeffizient ist der Nutzen, der erhalten wird, wenn jede Eigenschaft verbraucht wird. Der mit l × Co multiplizierte Koeffizient ist der Nutzen, der erhalten wird, wenn zwei gleichzeitig verbraucht werden (wie heißt der Name?). Der Grund, warum es einen Vorteil gibt, wenn Sie zwei gleichzeitig konsumieren, ist, dass es keine glückliche Person gibt, wenn Sie nur Freizeit haben, und es gibt keine glückliche Person, wenn Sie nur Netflix oder ein Smartphone-Spiel haben und Sie Zeit zum Spielen und etwas zum Spielen gleichzeitig haben müssen. ..

Produktionsfunktion

Das wahrscheinlich größte Problem ist die Produktionsfunktion. Im Allgemeinen geht die Wirtschaft von einem abnehmenden Randeffekt für jeden Eingabefaktor aus. Daher werden häufig Funktionstypen verwendet, die diese Annahme ausdrücken können.

Daher dachte ich, der Cobb-Douglas-Typ sei wahrscheinlich der sicherste, aber wie oben erwähnt, konnte ich in diesem Fall keine optimale Lösung finden. Der Cobb-Douglas-Typ ist eine konkave Funktion, daher sollte es kein Problem geben, aber wahrscheinlich sind viele eingeschränkte Ausdrücke schlecht.

Nachdem ich mir zwei Monate lang Sorgen gemacht hatte, hatte ich das obige Gefühl. Aber ich wollte unbedingt den Cobb-Douglas-Typ verwenden ...

Wie haben Sie den als Parameter verwendeten Wert festgelegt?

Jeder zur Maximierung des Nutzens verwendete Parameter wurde aus tatsächlichen Daten und Referenzmaterialien extrahiert. Unten ist die Erklärung.

Nutzfunktionskoeffizient

Wenn Sie wirklich den Koeffizienten der Nutzfunktion ausführen, müssen Sie wahrscheinlich eine strukturelle Typschätzung durchführen (ich habe es nie getan). Wir haben den Verbrauchsanteil der Ergebnisse der Haushaltsumfrage in Mexiko verwendet. Der Nutzen beim gleichzeitigen Verbrauch von zwei Waren ist entsprechend eingestellt.

Unter der Annahme einer Nutzfunktion vom Typ Cobb = Douglas + konstanter Ausbeute ist diese Methode theoretisch in Ordnung, aber dieses Mal habe ich ein quadratisches Modell verwendet, daher sollte es nicht genau die richtige Methode sein. Wenn es sich um ein quadratisches Modell handelt, können die Parameter aus dem Verbrauchsmengenanteil usw. berechnet werden? Ich weiß es nicht, weil die Theorie schwierig ist.

Insbesondere wurde der Koeffizient der Nutzfunktion wie folgt berechnet. Ergebnisse der Haushaltskonsumumfrage 2018 (ENIGH) ** Anmerkung 4 ** </ sup> "trabajos_2018.csv", "poblacion_2018.csv", "concentradohogar_2018.csv", veröffentlicht vom Mexican National Geographical Statistics Institute (INEGI) Ich benutzte. Die berechneten Werte sind (1) Durchschnittslöhne von Nicht-Selbständigen auf dem Land, (2) Anteil des Verbrauchs, berechnet unter Verwendung von Freizeit als Opportunitätskosten, und (3) Anteil des Verbrauchs nicht notwendiger Gegenstände.

Ausrüsten (Landausrüstungsverhältnis), wie viele Tage hat eine Saison?

Ich konnte keine mexikanischen Daten zu Equip (Land Equipment Ratio) finden, daher habe ich die Daten für Futtermais in Japan verwendet. ** Anmerkung 5 ** </ sup>.

〇 Landausrüstungsrate (S. 24) Arbeitsstunden pro 10a in Präfekturen, die für den gesamten Prozess der Futtermaiserzeugung erforderlich sind Aussaat: 1,2 Stunden, Top Dressing: 0,8 Stunden, Ernte: 1,6 Stunden, Schneiden und Füllen: 1,6 Stunden → 5,2 Stunden / 10a = 52 Stunden / ha → Landausrüstungsrate: 1/52 (ha / Stunde)

〇 Wie viele Tage nehmen Sie für eine Saison an? (P32) Hierbei werden also Sorten mit einer relativen Reife von 110-120 Tagen angenommen → Kultivierungstage: 4 Monate = 120 Tage

Grundrente (Mexiko-Peso), dotierte Arbeit pro Saison

Ich konnte die Landgebühr nicht wirklich finden und bezog mich daher auf die Ergebnisse meines persönlichen Interviews in Mexiko. Der befragte Bauer mietete ein 0,1 ha großes Gewächshaus für 2000 Peso. → Es wird davon ausgegangen, dass 1 ha Ackerland für 2000 Peso gemietet werden kann.

Angenommen, eine Saison = vier Monate Miete von Ackerland Landkosten pro 4 Monate: 2000 * 4 = 8000 Peso Ebenfalls, Stiftungsarbeit pro 4 Monate: (24-6) * 30 * 4

Ertragspreis (Ertrag), Getreide A (Futtermais)

** Anmerkung 6 ** </ sup> unter Bezugnahme auf die öffentlichen Daten der mexikanischen Informationsagentur für Landwirtschaft, Viehzucht und Fischerei (SIAP).

〇 Für ein Jahr im Jahr 2018 Regenwasserlandwirtschaft (zeitlich), bundesweit Pflanzfläche: 396397,92 ha, Ertrag: 8324248200 kg, Produktionswert: 5024207380 Peso → Preis: 5024207380/8324248200 = 0,6036 (Peso / kg) → Einheitsertrag: 5024207380 / 396397.92 = 12675 (kg / ha) Produktionswert pro Flächeneinheit pro Monat: 1912 (Peso / ha), Produktionswert pro Flächeneinheit pro Tag: 64 (Peso / ha)

Transaktionskosten, Nahrungsmittelkosten und Pro-Kopf-Verbrauch von Mais während des nichtlandwirtschaftlichen Einkommens

Das wusste ich auch nicht, also habe ich die Ergebnisse meines persönlichen Interviews in Mexiko verwendet.

〇 Allgemeine Haushaltsnahrungsmittelkosten für einen Tag (Vater, Mutter, zwei Söhne = vier Nahrungsmittelkosten) Fleisch: 130 Peso / kg → 130/4 Peso / 0,25 kg / Person Tortilla: 15 Peso / kg → 15/4 Peso / 0,25 kg / Person Milch: 25 Peso / l → 25/4 Peso / 0,25 l / Person

Da es problematisch ist, wird angenommen, dass 1 kg Tortilla = 1 kg Mais ist. → Täglicher Verzehr von Fleisch (0,25 kg) und Milch (0,25 l): 130/4 + 25/4 (Peso / Person) → Täglicher Verzehr von Tortillas: 15/4 → Eine Person isst täglich 0,25 kg Tortillas. Vorausgesetzt

Als Ergebnis des gleichen Interviews sagte er, dass die Transportkosten zur Arbeit etwa 20 Peso betragen. Daher betragen die Transaktionskosten für externe Arbeitskräfte 20 Peso. → Wie ich jetzt bemerkt habe, wurden in diesem Modell 20 Peso als Kosten pro Eingangsarbeitskräfte festgelegt, dies sollten jedoch die festen Transaktionskosten sein. Ist das in Ordnung?

Preise für andere Konsumgüter

Es scheint, dass der Verbrauch eines normalen Haushalts pro Tag etwa 200 Peso beträgt Passenderweise wird sie auf 30 Peso festgelegt, vorausgesetzt, dass ein weiteres Konsumgüter pro Tag konsumiert wird.

schließlich

Das ist alles, um die Bedingungen festzulegen. Nächstes Mal zeige ich Ihnen den Code, lehne aber nur zwei Punkte ab.

Erstens ist dies keine vollständige Simulation. Da wir ein "Spiel" der Agrarwirtschaft anstreben, in dem viele Landwirte zusammenarbeiten / konkurrieren, planen wir, es am Ende in Form einer Multi-Agent-Simulation zu bringen. Also habe ich den Code auf eine für mehrere Agenten erweiterbare Weise zusammengestellt. Bitte beachten Sie, dass es schwierig sein kann, nur eine Simulation zu sehen.

Als nächstes verwenden wir in dieser Simulation scipy.optimize in Python, um eine solche Lösung zwangsweise zu finden, ohne die optimale Lösung zu berechnen. Ich glaube nicht, dass es stimmt, aber seien Sie vorsichtig, wenn Sie diesen Code verwenden, um Material zu erstellen, das einer strengen Diskussion bedarf. Dies ist möglicherweise nicht die global optimale Lösung. Auch der Funktionstyp der Produktionsfunktion und die Parameterschätzung der Nutzfunktion sind wahrscheinlich schlechte Methoden.

Wenn es schließlich "Personen gibt, die mit Wirtschaftsmodellen vertraut sind" oder "Personen, die mit der Lösung von Optimierungsproblemen mithilfe von Programmiersprachen vertraut sind", Ich würde mich über Ratschläge zur Erstellung eines guten Simulationsmodells freuen.

Bis zum nächsten Mal (https://qiita.com/kuru_kirino/items/9f82b9c3deba69c053cb).

Hinweis

** Hinweis 1 ** </ sup> (1) Der Preis für häufig verwendete Software (GAMS usw.) ist hoch. (2) Es ist schwierig, die Bedeutung der Forschung zu ermitteln. (3) Erfahren Sie, wie Sie dedizierte Software verwenden. Ist lästig.

** Anmerkung 2 ** </ sup> In Zukunft möchte ich diese Transaktionskosten je nach den Bedingungen des Landwirts unterschiedlich gestalten. Zum Beispiel hat ein Landwirt, der weit vom Markt entfernt ist, aufgrund der Entfernung höhere Transportkosten und Transaktionskosten.

** Anmerkung 3 ** </ sup> Yukinobu Kitamura "1999 Vergleichende statistische Systemtheorie, Vorlesungsmaterialien (?)" Http://www.ier.hit-u.ac.jp/~kitamura/lecture /Hit/99Statsys4_c.pdf

** Hinweis 4 ** </ sup> https://www.inegi.org.mx/programas/enigh/nc/2018/

** Anmerkung 5 ** </ sup> Tsutomu Kanno "Aktueller Stand des Anbaus von Futtermais und technologische Entwicklung für die zukünftige Ausweitung des Anbaus" https://www.maff.go.jp/kanto/seisan/ tikusan / kihon_zyoho / pdf / corn_gizyutu.pdf

** Hinweis 6 ** </ sup> https://www.gob.mx/siap

Recommended Posts

Farmer's Economy Simulation ① (Netzverkäufer, autarker Landwirt, Nutzenmaximierungsmaßnahme des Nettokäufers) _Erläuterung
Farmer's Economy Simulation ② (Nettoverkäufer, autarker Landwirt, Aktion zur Maximierung des Nutzens des Nettokäufers) _