NBA 선수들의 연봉이 과연 실력에 비례하는지에 대해 알아보았다. 이를 위해 두 가지 주요 데이터를 분석하였으며, 선수들의 경기당 평균 득점(PPG)과 연봉을 중심으로 상관관계를 살펴보았다.
두 개의 CSV 파일을 사용하였다. 첫 번째 파일에는 선수들의 생애 통계 데이터가, 두 번째 파일에는 1985년부터 2018년까지의 연봉 데이터가 포함되어 있었다. 데이터는 다음과 같이 준비하였다:
이 두 데이터를 선수 ID를 기준으로 병합하여 각 선수의 생애 평균 득점과 연봉을 한 데이터프레임에 담았다.
주요 분석 방법으로 산점도와 피어슨 상관 계수를 사용하였다. 피어슨 상관 계수는 두 변수 간의 선형 상관관계를 측정하는데, -1에서 1 사이의 값을 가진다. 1에 가까울수록 강한 양의 상관관계를, -1에 가까울수록 강한 음의 상관관계를 나타낸다.
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import pearsonr
# Load and prepare the data
players_df = pd.read_csv('players.csv')
salaries_df = pd.read_csv('salaries_1985to2018.csv')
players_df['career_PPG'] = players_df['career_PTS'] / players_df['career_G']
players_relevant = players_df[['name', '_id', 'career_PPG']]
salaries_relevant = salaries_df[['player_id', 'salary', 'season']]
merged_df = pd.merge(players_relevant, salaries_relevant, left_on='_id', right_on='player_id')
# Calculate correlation
correlation, p_value = pearsonr(merged_df['career_PPG'], merged_df['salary'])
# Plotting the relationship
plt.figure(figsize=(10, 6))
sns.scatterplot(x='career_PPG', y='salary', data=merged_df)
plt.title(f'Correlation between NBA Player PPG and Salary (r = {correlation:.2f})')
plt.xlabel('Career Points Per Game (PPG)')
plt.ylabel('Salary ($)')
plt.grid(True)
plt.show()
print(f'Correlation: {correlation}, P-value: {p_value}')
위의 코드를 실행한 결과, PPG와 연봉 사이의 피어슨 상관 계수는 -0.0548로 나타났다. 이는 매우 약한 음의 상관관계를 의미하며, 사실상 두 변수 사이에 거의 상관관계가 없음을 시사한다. 또한, p-값이 매우 작게 나와 통계적으로 유의미하지만, 실질적인 상관관계는 거의 없다고 볼 수 있다.
분석 결과, NBA 선수들의 연봉은 경기당 평균 득점(PPG)과는 거의 상관관계가 없는 것으로 나타났다. 이는 선수들의 연봉이 단순히 득점 능력만으로 결정되지 않음을 의미한다. 실제로, 연봉은 선수의 다재다능함, 수비 능력, 팀 기여도, 마케팅 가치 등 다양한 요소에 의해 영향을 받는다.
따라서, NBA의 연봉은 단순히 실력(여기서는 PPG로 측정된)에 따라 결정된다고 보기 어렵다. 이러한 결과는 선수들의 다양한 가치를 반영하는 복합적인 요소들이 연봉 결정에 중요한 역할을 한다는 것을 보여준다.