SAT Project - The first project I had done at General Assembly, performed EDA, data cleaning and created data visualizations

Overview

Project 1: Standardized Test Analysis by Adam Klesc

Overview

This project covers:

  • Basic statistics and probability
  • Many Python programming concepts
  • Programmatically interacting with files and directories
  • Visualizations
  • EDA
  • Working with Jupyter notebooks for development and reporting

The SAT is a standardized test that many colleges and universities in the United States require for their admissions process. This score is used along with other materials such as grade point average (GPA) and essay responses to determine whether or not a potential student will be accepted to the university.

The SAT has two sections of the test: Evidence-Based Reading and Writing and Math (source).

The SAT changed their format in 2016 to address some problems that students and schools had with their style of questions and questionable grading. The ACT surpassed the SAT in popularity due to these problems and a perception that the SAT was "class-biased" due to their questions. The ACT also did this through a lot of states make it free state-wide and a requirement to pass high school which the SAT did not catch up on.


Problem Statement

When crafting my problem statement, I really was stuck with what to really analyze and what problem to solve. But it really simplified the process for me when looking at the yearly datasets because looking at the years and the progression of both the SAT and ACT participation rates, it really clicked.

My problem statement in a short sentence is:

Has collegeboard solved the problems they were seeking to fix with the 2016 format change?

I really had to go through three factors when making my problem statement. Who is my audience, what data am I using, and what value am I bringing to my audience.

  • The first factor was fairly easy to answer, I think the people who would be most interested in the answer to my problem statement would be collegeboard and the people involved in the change to see whether their change has actually worked.

  • The second factor was what data I would use and primarily I would be using the SAT 2017-2019 data along with the ACT 2017-2019 data but over the course of the project, I added some outside sources as well.

  • The final factor in creating that problem statement was bringing clarity to the changes and whether they have been actually productive in solving what they were mean't to solve.


Datasets

Provided Data

These are the datasets I used in the process that were included in the data folder provided, I cleaned each of them but will still be sharing both the raw and cleaned datasets

Additional Data

These are the datasets I required from outside research I performed.


Data Dictionary

A dictionary compiling the primary columns from the two main datasets used throughout the analysis.

Feature Type Dataset Description
participation17 float SATTotal Participation numbers for the 2017 SAT(in decimal percentage)
participation17 float ACTTotal Participation numbers for the 2017 ACT(in decimal percentage)
participation18 float ACTTotal Participation numbers for the 2018 ACT(in decimal percentage)
participation18 float SATTotal Participation numbers for the 2018 SAT(in decimal percentage)
participation19 float SATTotal Participation numbers for the 2019 SAT(in decimal percentage)
participation19 *float( ACTTotal Participation numbers for the 2019 ACT(in decimal percentage)
total17 int SATTotal Average total score for the 2017 SAT(median score)
total18 int SATTotal Average total score for the 2018 SAT(median score)
total19 int SATTotal Average total score for the 2019 SAT(median score)
composite17 float ACTTotal Average total score for the 2017 ACT(mean score)
composite18 float ACTTotal Average total score for the 2018 ACT(mean score)
composite19 float ACTTotal Average total score for the 2019 ACT(mean score)
sat_free boolean ACTTotal/SATTotal States that have the SAT free statewide
act_free boolean ACTTotal/SATTotal States that have the ACT free statewide
population_rank float ACTTotal/SATTotal Population rank for each state
gdp_rank_19 float/int ACTTotal/SATTotal GDP rank for each state
state object SATTotal The states where the data is located
state object ACTTotal The states where the data is located

Deliverables

Notebook that contains my cleaning of data and creation of new CSV's

cleaning_and_creating.ipynb

Notebook that contains my analysis and visualization

visualization_and_analysis.ipynb

Starter Code

starter-code.ipynb

ReadMe

README-ADAMK.md

Presentation

project_1_presentation.pdf


Technical Report Starter Code

Edited structure of starter code notebook by creating individual notesbooks for cleaning and analysis + visualization. Starter code trials are complete either in those two notebooks or on the starter code itself

Notebook that contains my cleaning of data and creation of new CSV's

cleaning_and_creating.ipynb

Notebook that contains my analysis and visualization

visualization_and_analysis.ipynb

Starter Code

starter-code.ipynb


Analysis

The analysis started with understanding the problem statement, in order to do that, I had to find out the reasons why the SAT changed and look at those problems in isolation each when looking at the data to see if collegeboard has actually succeeded in solving the problems they tried to address with their change.

  • Increase participation to overtake the ACT in market-share

  • Eliminate the stigma that the SAT is class-biased and is unfair towards those of lower incomes

I narrowed it down to these two problems because of these two sources

greentestprep

cnn.com

These sources really helped clarify what the SAT was actually looking to achieve with their change and helped me in my data collection process

  • From looking at the mean and median, it was evident that the SAT was steadily gaining popularity while the ACT was losing popularity but what makes the change a great success in terms of the first problem the change was mean't to address was how the SAT was significantly more popular than the ACT in states with a higher population. The SAT has also notably been made free in 3 states after 2017 (the first full year of the SAT change), those states being Colorado, West Virginia, and Illinois. New Hampshire, Michigan, and Connecticut also made a switch to the SAT, the year of the change. It's clear that the SAT change has done wonders in improving participation and making states believers in their test.

  • This lines up with outside sources claiming that the SAT surpassed the ACT in 2019 with overall market share with 2.2 million students to the ACT's 1.8.

  • From looking at the correlation between the GDP per state + SAT Participation, it was clear to see that the change had not had the effect that was desired from collegeboard execs. The coefficient stayed the same despite the added help in a new Khan Academy course that was free to all + fee waivers (for college applications) for those who met a certain income threshold. source

  • While a lot of studies tend to disagree on the fact that the SAT is a class-biased test, it is clear that a lot of universities are taking note of the potentially inherent class disadvantage in standardized testing as a whole and have outright banned it not only for just times of a pandemic, but also for the foreseeable future. The most prominent of these universities being the University of California


In Conclusion

From my analysis, I was able to conclude that the SAT has successfully managed to overtake the ACT once again as the market leader in standardized testing due to primarily to the SAT changes made to the format and structure. It not only made the test more appealing to students but also states themselves as number of them made it free during the time between 2019 from the date of the change. This is evidenced by the fact that the SAT once again, became the market-leader in standardized testing after the ACT's regression post-SAT change. While solving participation was a massive success in both participation numbers and time, the second problem is where the SAT still needs work.

The SAT change partially occurred due to the reputation that the SAT was a class-biased test, the strange scoring of the 2400 scale and detachment from the actual school work that students were learning in school lead to the ACT being more popular and while they did fix the problem with participation, the lingering problem of class-bias is still there. With more colleges pulling away from standardized testing and geographical location being so heavily tied to participation and success, there need to be more upcoming changes to rectify this issue and make the SAT a more equitable test.

Owner
Adam Muhammad Klesc
Hopeful data scientist. Currently in General Assembly and taking their data science immersive course!
Adam Muhammad Klesc
Implementation of E(n)-Transformer, which extends the ideas of Welling's E(n)-Equivariant Graph Neural Network to attention

E(n)-Equivariant Transformer (wip) Implementation of E(n)-Equivariant Transformer, which extends the ideas from Welling's E(n)-Equivariant G

Phil Wang 132 Jan 02, 2023
BaseCls BaseCls 是一个基于 MegEngine 的预训练模型库,帮助大家挑选或训练出更适合自己科研或者业务的模型结构

BaseCls BaseCls 是一个基于 MegEngine 的预训练模型库,帮助大家挑选或训练出更适合自己科研或者业务的模型结构。 文档地址:https://basecls.readthedocs.io 安装 安装环境 BaseCls 需要 Python = 3.6。 BaseCls 依赖 M

MEGVII Research 28 Dec 23, 2022
Automatic Data-Regularized Actor-Critic (Auto-DrAC)

Auto-DrAC: Automatic Data-Regularized Actor-Critic This is a PyTorch implementation of the methods proposed in Automatic Data Augmentation for General

89 Dec 13, 2022
Sequential model-based optimization with a `scipy.optimize` interface

Scikit-Optimize Scikit-Optimize, or skopt, is a simple and efficient library to minimize (very) expensive and noisy black-box functions. It implements

Scikit-Optimize 2.5k Jan 04, 2023
A BaSiC Tool for Background and Shading Correction of Optical Microscopy Images

BaSiC Matlab code accompanying A BaSiC Tool for Background and Shading Correction of Optical Microscopy Images by Tingying Peng, Kurt Thorn, Timm Schr

Marr Lab 34 Dec 18, 2022
Pipeline for employing a Lightweight deep learning models for LOW-power systems

PL-LOW A high-performance deep learning model lightweight pipeline that gradually lightens deep neural networks in order to utilize high-performance d

POSTECH Data Intelligence Lab 9 Aug 13, 2022
Vector Neurons: A General Framework for SO(3)-Equivariant Networks

Vector Neurons: A General Framework for SO(3)-Equivariant Networks Created by Congyue Deng, Or Litany, Yueqi Duan, Adrien Poulenard, Andrea Tagliasacc

Congyue Deng 332 Dec 29, 2022
ProFuzzBench - A Benchmark for Stateful Protocol Fuzzing

ProFuzzBench - A Benchmark for Stateful Protocol Fuzzing ProFuzzBench is a benchmark for stateful fuzzing of network protocols. It includes a suite of

155 Jan 08, 2023
This project hosts the code for implementing the ISAL algorithm for object detection and image classification

Influence Selection for Active Learning (ISAL) This project hosts the code for implementing the ISAL algorithm for object detection and image classifi

25 Sep 11, 2022
The official repository for BaMBNet

BaMBNet-Pytorch Paper

Junjun Jiang 18 Dec 04, 2022
The 2nd place solution of 2021 google landmark retrieval on kaggle.

Leaderboard, taxonomy, and curated list of few-shot object detection papers.

229 Dec 13, 2022
Unofficial Pytorch Implementation of WaveGrad2

WaveGrad 2 — Unofficial PyTorch Implementation WaveGrad 2: Iterative Refinement for Text-to-Speech Synthesis Unofficial PyTorch+Lightning Implementati

MINDs Lab 104 Nov 29, 2022
[SIGGRAPH Asia 2019] Artistic Glyph Image Synthesis via One-Stage Few-Shot Learning

AGIS-Net Introduction This is the official PyTorch implementation of the Artistic Glyph Image Synthesis via One-Stage Few-Shot Learning. paper | suppl

Yue Gao 102 Jan 02, 2023
Code for "Steerable Pyramid Transform Enables Robust Left Ventricle Quantification"

Code for "Steerable Pyramid Transform Enables Robust Left Ventricle Quantification" This is an end-to-end framework for accurate and robust left ventr

2 Jul 09, 2022
(JMLR' 19) A Python Toolbox for Scalable Outlier Detection (Anomaly Detection)

Python Outlier Detection (PyOD) Deployment & Documentation & Stats & License PyOD is a comprehensive and scalable Python toolkit for detecting outlyin

Yue Zhao 6.6k Jan 05, 2023
Code Release for ICCV 2021 (oral), "AdaFit: Rethinking Learning-based Normal Estimation on Point Clouds"

AdaFit: Rethinking Learning-based Normal Estimation on Point Clouds (ICCV 2021 oral) **Project Page | Arxiv ** Runsong Zhu¹, Yuan Liu², Zhen Dong¹, Te

40 Dec 30, 2022
Implementation of Memformer, a Memory-augmented Transformer, in Pytorch

Memformer - Pytorch Implementation of Memformer, a Memory-augmented Transformer, in Pytorch. It includes memory slots, which are updated with attentio

Phil Wang 60 Nov 06, 2022
Reimplementation of the paper `Human Attention Maps for Text Classification: Do Humans and Neural Networks Focus on the Same Words? (ACL2020)`

Human Attention for Text Classification Re-implementation of the paper Human Attention Maps for Text Classification: Do Humans and Neural Networks Foc

Shunsuke KITADA 15 Dec 13, 2021
A lightweight Python-based 3D network multi-agent simulator. Uses a cell-based congestion model. Calculates risk, loudness and battery capacities of the agents. Suitable for 3D network optimization tasks.

AMAZ3DSim AMAZ3DSim is a lightweight python-based 3D network multi-agent simulator. It uses a cell-based congestion model. It calculates risk, battery

Daniel Hirsch 13 Nov 04, 2022
Get started learning C# with C# notebooks powered by .NET Interactive and VS Code.

.NET Interactive Notebooks for C# Welcome to the home of .NET interactive notebooks for C#! How to Install Download the .NET Coding Pack for VS Code f

.NET Platform 425 Dec 25, 2022