2018美赛B题总结
这里是我的个人网站:
https://endlesslethe.com/2018-mcm-summary-of-b.html
有更多总结分享,最新更新也只会发布在我的个人网站上。排版也可能会更好看一点=v=
PDF的链接我发布在我的网站的评论区里了,可以戳上面的链接查看
前言
本文主要是记录这次建模的过程和我的感受。用到的模型会列出并阐述重要步骤,数据和结论都省略了。
问题
Problem: A large multinational service company, with offices in New York City in the United States and Shanghai in China, is continuing to expand to become truly international. This company is investigating opening additional international offices and desires to have the employees of each office speak both in English and one or more additional languages. The Chief Operating Officer of the company has hired your team to investigate trends of global languages and location options for new offices.
Part I:
A. Consider the influences and factors described in the background paragraph above, as well as other factors your group may identify. Based on projected trends, and some or all of these influences and factors, model the distribution of various language speakers over time.
B. Use your model to predict what will happen to the numbers of native speakers and total language speakers in the next 50 years. Do you predict that any of the languages in the current top-ten lists (either native speakers or total speakers) will be replaced by another language? Explain.
C. Given the global population and human migration patterns predicted for the next 50 years, do the geographic distributions of these languages change over this same period of time? If so, describe the change.
Part II:
A. Based on your modeling from Part I, and assuming your client company wants to open six new international offices, where might you locate these offices and what languages would be spoken in the offices? Would your recommendations be different in the short term versus the long term? Explain your choices.
B. Considering the changing nature of global communications, and in an effort to save your client company resources, might you suggest that the company open less than six international offices? Indicate what additional information you would need and describe how you would analyze this option in order to advise your client.
读题
这个问题分为两部分(Part),第一部分要求解决“建立语言使用人数的分布模型”“根据模型预测50年后的使用top10”“预测50年后各语言的地理分布”三个问题。
对于这三个问题,我的理解重点放在A的“分布模型”和C的“地理分布”这里。
“分布模型”应该指的是某种语言使用人数的模型,A问题的目的就是先对各种语言人数建立一个整体模型。
B问题根据A建立的问题不难解决。
而“地理分布”指的是某一种语言在其他国家的分布模型,C的目的是将整体模型细化,讨论某种语言在不同国家人数的分布情况。
第二部分要求解决“六个国际办公室的选址,并分短期和长期两种”“能否增减办公室数量?(如果有你需要的一些额外的信息,你会如何分析)”两个问题。
问题A可以结合语言趋势和经济、基础建设这些影响因素来确定。短期就根据当前的数据,长期就根据最近10年的增长趋势。显然,这不是一个图论题。
问题B是一个开放性的题。可能是从收益和成本来讨论。
总体来看,第一部分和第二部分相对独立,可以先对前面的第一部分建模。
第一部分ABC
因为在建模开始前,我一直在看智能算法和随机采样,所以看到题目的第一反应就是用马尔科夫链。也是因为这个原因,所以我们队在选题上面花的时间并不多,第一天上午大致看了一下其他题,就确定做B了。
这里我直接给出第一部分建模的最终模型了:
总体模型
- 先将语言人数分为母语和第二语言。
- 其中,母语可以通过人口增长模型描述。
- 第二语言的人数比例通过马尔科夫链的状态转移矩阵描述,通过各种语言多年第二语言的使用人数,估计出各语言的转移趋势。
a. 建立马尔科夫链模型
b. 最小二乘法计算转移矩阵
c. 估计50年后的情况
而马尔科夫链的好处是直接解决了ABC三个问题,不存在细化模型的烦恼了。
语言使用人数模型
对于第j种语言,其使用人数等于母语人数+第二语言人数。
\(N_{native}^{[j]}\)=一个国家的人口数+出生人口-死亡人口-净移民
\(N_{second}^{[j]}\) =所有国家第j种第二语言总人数+新学习人数-死亡人数
即
Where aij denote the probability of new birth in the i-th country learning the j-th language as second language, dij denote the death rate of the j-th country using the i-th language as second language, bi denote the birth rate of the i-th country, N[i]pop denote the population of the i-th country.
假设简化
\(N_{native}^{[j]}\)=一个国家的人口数
使用人口模型
显然,母语人数可以使用Logistic人口增长模型来描述。
这里我直接给出公式,具体可由微分方程推导:
Where xm denote the maximum population that natural resources and environmental conditions can sustain. r denote the population growth rate. x(t) denote the N[j]native of big nations. x0 denote the time point we choose to start predicting. t denote the years between the year which we choose to start and which we predict.
使用最小二乘法计算概率矩阵
关于最小二乘法可以见我之前写的文章《半小时学习最小二乘法》(https://endlesslethe.com/easy-to-learn-ols.html )
这样我们通过各种语言多年第二语言的使用人数,估计出各语言的转移趋势。
Note:
在比赛时我是觉得这就是一个多元回归方程组而已,查了查中文文献,发现国内都用的最小二乘,就直接用来算了。
但这里有一个问题没有解决:如何保证计算得到的矩阵是随机矩阵?也就是说如何满足Pij都为正,且每一行的和为1呢?
我在谷歌上搜了一下,有挺多相关论文的,发表时齐从1970到2017都有。感兴趣的可以看一下,我不打算细看了,下次用到的时候再看吧。
1. A Formula for the Powers of the Transition Matrix
2. Estimation in Markov Models from Aggregate Data
3. A REVIEW OF THE ESTIMATION OF TRANSITION PROBABILITIES IN MARKOV CHAINS
4. Efficient Estimation of Transition Probabilities in a Markov Chain
5. Improving the Estimation of Markov Transition Probabilities Using Mechanistic-Empirical Models
结果
母语人数:
第二语言比例:(数据太少,而且历年第二语言统计数据变化不大,我感觉是统计机构把往年数据当做新的用的原因)
问题C:是问地理分布,显然指的是第二语言而不是母语。我用百度ECharts的js库做个各国的地理分布情况,然后ps到一张图上。
第二部分A
因为这是个多因素、决策性问题,所以我使用的是模糊数学+层次分析(Fuzzy Mathematical Model+AHP)。其实单纯使用AHP也行,但是听说不建议将AHP作为主模型,模糊数学还和数学沾点边,所以使用的是两者结合。
分为以下六步:
1. 为每个属性确定隶属函数
2. 根据数据计算隶属度
3. 确定评价矩阵,计算权重
4. 检验评价矩阵
5. 计算最后得分并排序
6. 选取前6个
隶属函数
根据预估的评价函数形状确定评价函数(隶属函数)
- 语言趋势
- 人均GDP
- 文化软实力
- 基础设施
评价矩阵
第二部分B
本来问题就很宽泛,定性地谈论一下收益和成本即可。
我的感受与建议
这次一个人完成建模、推导、找数据、计算、检验、作图整个流程,甚至写了一点论文(:з」∠)
感谢队友的陪伴,做出结果的时候确实很开心。
但有一点小遗憾:因为个人精力有限,很多有趣的部分都没有深入讨论,而是当做假设忽略。最后的模型有些粗糙。
最后得了M奖还挺意外的,总的看来,都没用什么复杂的方法,最后所有代码也不过800+行,智能算法和机器学习方法都没有用上。
优点是建模思路还算全面,流程也没有遗漏。论文队友确实花了挺大力气,结构比较完整、规范。
建议
- 在建模过程中三个人要能一起现场讨论。这是最基本的
- 在比赛开始前最好能有一次模拟赛。可以明确分工,并发现word经常排版错误等意外情况
- 最好使用Latex。但如果之前没有用过Latex,要么放弃,要么用一场模拟赛来减少意外情况
- 做好心理准备。虽然通常是一个编程、一个设计模型、一个写论文的,但是世界上总是有种种意外对吧。。。
- 负责论文的同学尽量多看往年论文,结构写好
- 图片尽量弄好看一点
- 解法不要求无懈可击,有想法,能得出结论就好
- 如何得到数据这个问题非常关键,数据的有无和质量影响极大