查看原文
其他

大学排名浮沉:对US News 大学排行榜(1984-2023) 大学排行数据的分析

王海华 模型视角 2023-09-29

本文探讨了US News 大学排行榜中1984-2023年的大学排名变化。通过对数据的深入分析,我们了解了哪些学校的排名在这期间波动最大,哪些学校的排名持续上升,以及哪些学校的排名持续下降。

研究背景

最近,US News 2024年的大学排行榜出炉,受到了广泛关注。与往年不同,今年的排行榜调整了排名方法。具体的调整内容如下:

  • 取消了五个长期存在的评价因素,并调整了其他几个因素的权重。
  • 加入了一些新的评价指标。特别是,加大了对学校学生不同社会经济背景所取得学位的重视,并利用了直到最近才可用的研究生成果信息。
  • 所有学校的数据都经过标准化处理,然后根据预定的权重进行加权和汇总,以确定每个学校的总分。然后,总分进行重新缩放,以便每个排名中的最佳表现者显示总分为100。其他学校的总分则以0-99的范围显示,反映它们与该排名中的最佳表现者的距离。

具体权重如下:

US News 2024年大学排行榜评价指标权重

指标有可用的SAT/ACT的学校 2024权重没有可用的SAT/ACT的学校 2024权重2022-2023权重
毕业率16%21%17.6%
大一留校率5%5%4.4%
毕业率表现10%10%8.0%
Pell助学金毕业率5.5%5.5%2.5%
Pell助学金毕业率表现5.5%5.5%2.5%
第一代大学生毕业率N/AN/AN/A
第一代大学生毕业率表现N/AN/AN/A
借款者债务5%5%3%
大学毕业生收入高于高中毕业生5%5%0%
同行评估20%20%20%
教师薪酬8%8%7%
师生比例4%4%1%
全职教师3%3%1%
财务资源8%8%10%
标准化测试5%0%5%
每篇论文的引用量0%0%0%
权重引用影响0%0%0%
在前5%的期刊中被引用的论文数0%0%0%
在前25%的期刊中被引用的论文数0%0%0%
班级规模0%0%8%
最高学位教师0%0%3%
校友捐赠平均值0%0%3%
毕业债务比例借款0%0%2%
高中班级排名0%0%2%
总计100%100%100%


US News的大学排名被广泛认为是衡量美国高等教育机构质量的关键指标。在过去的40年中,这些排名已经发生了很大的变化(当然也有排名方法的变化),反映了大学在教学、研究和其他方面的表现。

我很好奇这些年大学排行有哪些变化,比如具体哪些大学排名增长较大。这里采用US NEWS 1984-2023 的数据,学校均为美国大学,数据来源参考[1]。

让我们一起来看一看吧!

import pandas as pd

# Load the "Compiled 1984-2023 Selective" sheet from the provided Excel file
data = pd.read_excel("data/US-News-Rankings-Universities.xlsx", sheet_name="Compiled 1984-2023 Selective")

# Display the first few rows of the data for a quick overview
data.head()

数据探索

首先,我们选择了几所知名的大学,包括普林斯顿大学、哈佛大学、斯坦福大学、麻省理工学院和耶鲁大学,查看了它们在这段时间内的排名变化。

import matplotlib.pyplot as plt

# Select a few well-known universities for illustration
selected_universities = ["Princeton University""Harvard University""Stanford University"
                         "Massachusetts Institute of Technology""Yale University"]

# Plot the ranking changes over the years for the selected universities
plt.figure(figsize=(1510))
for uni in selected_universities:
    plt.plot(data.columns[3:], data[data["University Name"] == uni].iloc[03:], label=uni, marker='o')

plt.gca().invert_yaxis()  # Lower rank is better, so invert the y-axis
plt.title("US News Ranking Changes (1984-2023) for Selected Universities")
plt.xlabel("Year")
plt.ylabel("Rank")
plt.legend()
plt.grid(True, which='both', linestyle='--', linewidth=0.5)
plt.show()

如图1所示,这些学校的排名在大部分年份中都非常稳定。

图1:选定大学的排名变化

排名的波动性

通过计算每所大学排名的标准差,我们识别了排名波动最大的大学。

平均数

# Calculate the standard deviation for the rankings of each university and sort them
data["Rank Fluctuation"] = data_filled.std(axis=1, skipna=True)
top_fluctuating_universities = data.sort_values(by="Rank Fluctuation", ascending=False)[["University Name""Rank Fluctuation"]].head(10)

top_fluctuating_universities
大学名称平均排名标准差
普林斯顿大学 (Princeton University)1.711.09
哈佛大学 (Harvard University)1.710.73
耶鲁大学 (Yale University)2.740.83
斯坦福大学 (Stanford University)4.551.48
麻省理工学院 (MIT)5.271.92
杜克大学 (Duke University)7.432.08
加利福尼亚理工学院 (Caltech)7.493.72
哥伦比亚大学 (Columbia University)8.223.93
芝加哥大学 (University of Chicago)8.473.45
宾夕法尼亚大学 (University of Pennsylvania)8.644.24


标准差:

# Calculate the average ranking and standard deviation for each university over the years
data["Average Rank"] = data.iloc[:, 3:].mean(axis=1, skipna=True)
data["Rank Standard Deviation"] = data.iloc[:, 3:-1].std(axis=1, skipna=True)

# Display the universities sorted by their average rank
sorted_data = data.sort_values(by="Average Rank")[["University Name""Average Rank""Rank Standard Deviation"]].head(10)
sorted_data

东北大学、亚拉巴马大学和佛罗里达州立大学是波动性最大的三所大学。

表1展示了波动性最大的10所大学的详细数据。

表1:波动性最大的10所大学

长期进步与下滑的大学

基于线性回归的斜率,我们识别了在过去40年中持续进步和持续下滑的大学。线性回归模型可以表示为:

其中:

  • 是因变量 (在本例中是大学的排名) 。
  • 是自变量(在本例中是年份)。
  • 是截距。
  • 是斜率,代表了 每增加一个单位, 预期将增加或减少的数量。
  • 是误差项,代表了由于未被模型考虑的其他因素而产生的随机误差。

通过线性回归,我们可以得到一个直线的方程,描述了因变量随自变量的变化趋势。在本例 中,我们关心的是斜率 ,因为它描述了大学排名随时间的变化趋势。

  • 如果 是正值,那么大学的排名随时间上升。
  • 如果 是负值,那么大学的排名随时间下降。
  • 的绝对值越大,变化趋势越明显。
from sklearn.linear_model import LinearRegression
import numpy as np

# Prepare years as independent variable
years = np.array(data.columns[3:-2]).astype(int).reshape(-11)

# Fill NaN values using forward and backward fill
data_filled = data.iloc[:, 3:-2].fillna(method='ffill', axis=1).fillna(method='bfill', axis=1)

# Redo the linear regression analysis with the filled data
regression_results_filled = {}

for uni in selected_universities:
    rankings = data_filled[data["University Name"] == uni].values.reshape(-11)
    model = LinearRegression().fit(years, rankings)
    slope = model.coef_[0][0]
    intercept = model.intercept_[0]
    regression_results_filled[uni] = (slope, intercept)

# Calculate the standard deviation for the rankings of each university and sort them
data["Rank Fluctuation"] = data_filled.std(axis=1, skipna=True)
top_fluctuating_universities = data.sort_values(by="Rank Fluctuation", ascending=False)[["University Name""Rank Fluctuation"]].head(10)

top_fluctuating_universities
([('University of Missouri', 0.8524757816187546),
  ('University of Alabama', 0.9351779011485468),
  ('Iowa State University', 1.019925378166371),
  ('University of Nebraska-Lincoln', 1.0590568879099147),
  ('University of Kansas', 1.1373648603088264)],
 [('Northeastern University', -1.7372614686116297),
  ('Florida State University', -1.2982850464138815),
  ('Texas Christian University', -0.7805174080151044),
  ('University of Buffalo', -0.7525791733159516),
  ('University of Southern California', -0.7515227798880674)])

堪萨斯大学、内布拉斯加-林肯大学和艾奥瓦州立大学是进步最快的三所大学。而东北大学、佛罗里达州立大学和德克萨斯基督教大学是下滑最快的三所大学。

各州大学的表现

我们还分析了不同州的大学在排名中的表现。

# Calculate the linear regression slope for each university's ranking over the years
slopes = {}

for index, row in data_filled.iterrows():
    rankings = row.values.reshape(-11)
    model = LinearRegression().fit(years, rankings)
    slope = model.coef_[0][0]
    slopes[data.iloc[index, 0]] = slope

# Sort universities based on their slopes
sorted_slopes = sorted(slopes.items(), key=lambda x: x[1])

# Top 5 universities with the most improvement (largest positive slope)
most_improved = sorted_slopes[-5:]

# Top 5 universities with the most decline (largest negative slope)
most_declined = sorted_slopes[:5]

most_improved, most_declined

基于各州大学的平均排名和排名的波动性(即标准差),以下是表现最好的10个州(排名较低意味着表现较好):

罗德岛州 (RI):平均排名13.65 密苏里州 (MO):平均排名15.97 乔治亚州 (GA):平均排名37.52,排名的标准差为18.08 路易斯安那州 (LA):平均排名44.14 北卡罗来纳州 (NC):平均排名47.39,排名的标准差为37.84 印第安纳州 (IN):平均排名51.82,排名的标准差为30.16 马萨诸塞州 (MA):平均排名51.90,排名的标准差为38.93 威斯康辛州 (WI):平均排名59.88,排名的标准差为31.75 新罕布什尔州 (NH):平均排名59.97,排名的标准差为71.23 田纳西州 (TN):平均排名61.36,排名的标准差为61.15


罗德岛州、密苏里州和乔治亚州是平均排名最高的三个州。


好啦,这就是所有分析了。

在对US News 大学排行榜中1984-2023年的大学排名变化进行深入研究后,我们得出了一些有趣的发现。在此期间,一些学校的排名持续上升,而其他学校的排名波动较大。

不过大学排行榜只是一个参考,它不能完全代表一个学校的所有优点和劣势。选择大学不应仅基于排名,而应考虑多种因素,如课程设置、学术资源、校园文化、地理位置和费用等。每个学生的需求和偏好都是独特的,因此最重要的是找到最适合个人的学校。

建议学生和家长在做决策时,广泛地收集信息、访问学校、与现有的学生和教师交流,以确保做出明智的选择。

拜拜。

参考资料
[1] Andrew G. Reiter, “U.S. News & World Report Historical Liberal Arts College and University Rankings,” available at: http://andyreiter.com/datasets/

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存