Skip to content

Naveen-Raj-M/find_your_state

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Find Your State

Description

This project helps users decide which American state is the best to live in based on the following criteria:

  1. Income
  2. Employment Rate
  3. Cost of Living
  4. Crime Rate
  5. Annual Average Temperature
  6. Number of Snowfall Days

You can customize these criteria to your needs. Instructions are provided in the configuration settings.

Cloning the Repository and Setting Up the Virtual Environment

To get started with the project, follow these steps:

  1. Clone the repository:
    git clone https://github.com/Naveen-Raj-M/find_your_state.git

If you don't have Git installed in your computer, find and click the green Code button near the top right. Select the Download ZIP option. You can unzip the file to access the contents locally in your computer

  1. Navigate to the project directory:

    cd find_your_state
  2. Build the virtual environment:

    source build_venv.sh

Executing the Script

To execute the find_your_state.py script, use the following command:

python3 -m engine.find_your_state --config-path ../ --config-name config.yaml

Configuration Settings

Configuration As I already mentioned, you can configure the criteria as per your need. To start with, open `config.yaml` file.
defaults:
    - _self_
    - override hydra/hydra_logging: disabled  
    - override hydra/job_logging: disabled  

hydra:
    output_subdir: null  
    run:
        dir: .

# weather configuration
weather:
    temperature: 50
  • This section configures the weather criteria. The temperature key sets the preferred average annual temperature.
# snow configuration
snowfall:
    upper_bound: 30
    lower_bound: 5
  • This section configures the snowfall criteria. The upper_bound and lower_bound keys set the acceptable range for the number of snowfall days.
# income configuration
income:
    minimum: 80000
  • This section configures the income criteria. The minimum key sets the minimum acceptable annual income in USD.
# risk_affinity configuration
r:
    weather: 1
    snowfall: 0.5
    employment: 2
    crime_rate: 2
    cost_of_living: 1
    income: 3
  • This section configures the risk affinity for each criterion. Set r < 1 for risk-aversive utility r = 1 for risk-neutral utility r > 1 for risk-seeking utility
# weights configuration
weights:
    weather: 10
    snowfall: 10
    employment: 20
    crime_rate: 20
    cost_of_living: 15
    income: 25
  • This section configures the weights for each criterion. The values represent the relative importance of each criterion in the final decision-making process.

Results

Results

The final result will look like this Final Ranking of States

Final Ranking of States

Beyond the final ranking, you can also visualize the historic data of average annual temperature for each state, and how each State performed in each criteria

Average Annual Temperature

PDF of historic data of Annual Average Temperature of Indiana

Snowfall

Probability of no of snowfall days being between the given range

Income

Probability of average household income greater than the given value

Employment

Performance of various states in employment rate

Crime Rate

Performance of various states in crime rate

Cost of Living

Performance of various states in cost of living index

Sources of data

  1. Weather and Snowfall: National Centers for Environmental Information (www.ncei.noaa.gov)
  2. Employment Rate: U.S. Bureau Of Labor Statistics (www.bls.gov)
  3. Cost of Living: Missouri Economic Research and Information Center (https://meric.mo.gov/)
  4. Income: United States Census Bureau (https://data.census.gov/)
  5. Crime Rate: FBI Crime Data Explorer (https://cde.ucr.cjis.gov/)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published