决策交互模拟SDG4
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model implements a school selection model that allows to study the effects of school choice and a policy implemented in Chile in 2010 known as traffic lights, in which a discrete signal of school achievement was given to families so they would make a better decision. It is submitted as supplemental material with the paper: An agent-based model of school choice with information asymmetries, submitted to the Journal of Simulation.
HOW IT WORKS
There are two types of agents, schools and students. Both are placed randomly in the world. Both do not move.
Students have an income level drawn from a normal distribution and they must choose a school, which is represented visually as a link to the school. They stay for a total of 10 years in school and then they graduate (or die in the model). Every year new students are created and appear in random places in the world.
Schools have an achievemnt level drawn from a normal distribution.
Students have an income level drawn from a Pareto distribution.
As in Chile, a small percentage of schools can be private when school choice is allowed, in which case they may charge tuition, making them accesible only to high income students.
The percentage of high income students is selected by the user.
The important mechanic is the school selection process, which is implemented in procedure choose-school. Without school choice, every student is assigned a school in their neighborhood, which is the school closest to them. With school choice, students with a high income level will choose acoording to a utility function that considers both achievement and proximity the school. Low income students still select the closest option, either because they don´t know the achievement of schools or because they don´t care.
Attending public schools also has a cost, which is a transportation cost that agents may be able to afford depending on their income.
With traffic-lights? on, low income students know the signal of achievement of schools provided by the government, represented by the color of the school. Assuming they care about achievement, since the signal can only have 3 values, their choice still won't be as optimal as high-income students.
HOW TO CITE
If you mention this model or the NetLogo software in a publication, we ask that you include the citations below. For the model itself:
Diego A. Díaz, Ana María Jiménez & Cristián Larroulet (2019) An agent-based model of school choice with information asymmetries, Journal of Simulation, DOI: 10.1080/17477778.2019.1679674
Please cite the NetLogo software as: Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
QUESTIONS AND COMMENTS
Please address the developer and corresponding author of the publication, Diego A. Díaz at: diegodiaz@uchicago.edu
Comments and Questions
globals [ high-income-cutoff pareto-distribution-alpha pareto-distribution-minimum sdg4_4_1_1_completion_rate ; 小学/初中教育巩固率 sdg4_4_2_2_gross_enrollment_rate ; 学前教育毛入园率 sdg4_4_3_1_transition_rate ; 初中毕业生升学率和普职比 sdg4_4_6_1_net_enrollment_rate_primary_secondary ; 小学/初中净入学率、高中毛入学率 sdg4_4_5_1_gender_equality_index ; 指标4.1.1的性别平等指数 sdg4_4_a_1_school_infrastructure_access_rate ; 能获得基本设施和服务的学校比例 sdg4_4_c_1_teacher_training_rate ; 接受过有关国家相应水平教学所规定的有组织任前或在职师资培训的教师比例 sdg4_overall_score ; SDG4 总体好坏指标 ] breed [students student] breed [schools school] breed [government gov] students-own [target enrolled? income years-in-school school-achievement] schools-own [enrollment achievement traffic-lights-color is-private?] government-own [government-achievement] to setup clear-all set-default-shape schools "house" set-default-shape students "person" set-default-shape government "house" ask patches [ set pcolor 108 ] set pareto-distribution-alpha 3 set pareto-distribution-minimum 1 set high-income-cutoff (pareto-distribution-minimum / (high-income-percentage / 100) ^ (1 / pareto-distribution-alpha)) create-schools number-of-schools [ set color yellow set traffic-lights-color 5 fd max-pxcor setxy random-xcor random-ycor set achievement random-normal 5 1 if achievement < 0 [set achievement 0] ifelse (achievement > 6 and random-float 100 < 45.4) [set is-private? TRUE set shape "private-school"] [ ifelse (achievement > 4 and random-float 100 < 2.6) [set is-private? TRUE set shape "private-school"] [ ifelse (random-float 100 < 0.4) [set is-private? TRUE][set is-private? FALSE] ] ] set enrollment 0 set size 2 paint-school ] create-students initial-students * 0.9 [ set color orange setxy random-xcor random-ycor set income random-pareto pareto-distribution-alpha pareto-distribution-minimum set enrolled? FALSE set years-in-school random 9 + 1 paint-students ] create-government 2 [ set color magenta - 3 set size 4 setxy random-xcor random-ycor set government-achievement random-normal 5 1 ] reset-ticks end to go call-new-students ask students [ choose-school study-a-year seniors-graduate ] ask schools [ enroll ] ask links [ set color white ] update-sdg4-indicators tick display-labels display-sdg4-indicators end to choose-school ifelse (income > high-income-cutoff and with-school-choice?) [ set target one-of schools with [[income] of myself - (distance myself) * school-transportation-cost / 100 > 0] with-max [(achievement ^ alpha) * (((world-height * sqrt 2) - distance myself) / (world-height * sqrt 2)) ^ (1 - alpha) ] ] [ ifelse (with-school-choice? and traffic-lights?) [ set target min-one-of schools with [[income] of myself - (distance myself) * school-transportation-cost / 100 > 0 and is-private? = FALSE] with-max [(traffic-lights-color ^ alpha) * (((world-height * sqrt 2) - distance myself) / (world-height * sqrt 2)) ^ (1 - alpha) ] [distance myself] ] [ ifelse (with-school-choice?) [ set target min-one-of schools with [[income] of myself - (distance myself) * school-transportation-cost / 100 > 0 and is-private? = FALSE] [distance myself] ] [ set target min-one-of schools with [[income] of myself - (distance myself) * school-transportation-cost / 100 > 0] [distance myself] ] ] ] if target != nobody [ create-link-with target set school-achievement [achievement] of target set enrolled? TRUE ; 移动到选择的学校 face target fd 0.1 ; 适当调整步长 ] end to call-new-students create-students initial-students * 0.1 [ set color gray setxy random-xcor random-ycor set income random-pareto pareto-distribution-alpha pareto-distribution-minimum set enrolled? FALSE set years-in-school 10 paint-students ] end to enroll ;school procedure set enrollment count link-neighbors end to display-labels ask schools [ set label round enrollment set label-color black ] end to paint-school ask schools [ ifelse achievement > 6 [set color green set traffic-lights-color 6] [if achievement < 4 [set color red set traffic-lights-color 4]] ] end to study-a-year set years-in-school years-in-school - 1 end to paint-students ask students [ ifelse income > high-income-cutoff [set color blue] [if income < high-income-cutoff [set color pink]] ] end to seniors-graduate if years-in-school = 0 [die] end to-report random-pareto [sigma mm] report mm / ( random-float 1 ^ (1 / sigma) ) end to update-sdg4-indicators ; 更新 SDG4 相关指标 let total_students count students let enrolled_students count students with [enrolled?] let completion_rate (enrolled_students / total_students) * 100 set sdg4_4_1_1_completion_rate completion_rate ; 计算学生与学校比例 let student_school_ratio count students / count schools let inverse_ratio 1 / student_school_ratio ; 计算 SDG4 总体好坏指标 let total_score sdg4_4_1_1_completion_rate + sdg4_4_2_2_gross_enrollment_rate + sdg4_4_3_1_transition_rate + sdg4_4_6_1_net_enrollment_rate_primary_secondary + sdg4_4_5_1_gender_equality_index + sdg4_4_a_1_school_infrastructure_access_rate + sdg4_4_c_1_teacher_training_rate let weighted_score total_score / 7 ; 根据学生与学校比例调整总体评分 let adjusted_score weighted_score * inverse_ratio set sdg4_overall_score adjusted_score ; 计算其他指标 let total_schools count schools let gross_enrollment_rate ((total_students / total_schools) * 100) / (1 + random-normal 0 0.05) ; 控制在 120% 左右 set sdg4_4_2_2_gross_enrollment_rate gross_enrollment_rate let total_graduates count students with [years-in-school = 0] let transition_rate ((total_graduates / (enrolled_students + total_graduates)) * 100) / (1 + random-normal 0 0.01) ; 控制在 100% 左右 set sdg4_4_3_1_transition_rate transition_rate let total_female_students count students with [color = gray] let total_male_students count students with [color = blue] let gender_equality_index (total_female_students / total_male_students) set sdg4_4_5_1_gender_equality_index gender_equality_index let total_schools_with_infrastructure count schools with [color = yellow] let school_infrastructure_access_rate (total_schools_with_infrastructure / total_schools) * 100 set sdg4_4_a_1_school_infrastructure_access_rate school_infrastructure_access_rate end to display-sdg4-indicators ; 显示 SDG4 相关指标值到控制台 print (word "SDG4 Indicator Values:") print (word "SDG4 Overall Score: " sdg4_overall_score) print (word "4.1.1 Completion Rate: " sdg4_4_1_1_completion_rate "%") print (word "4.5.1 Gender Equality Index: " sdg4_4_5_1_gender_equality_index) print (word "4.a.1 School Infrastructure Access Rate: " sdg4_4_a_1_school_infrastructure_access_rate "%") end
There is only one version of this model, created 9 months ago by cao su.
This model does not have any ancestors.
This model does not have any descendants.