An open API service indexing awesome lists of open source software.

https://github.com/josericodata/statisticsapp

Interactive statistics analysis app using Python and Streamlit. Perform key statistical tests, visualise distributions, and explore data with ease.
https://github.com/josericodata/statisticsapp

alpha-value chi-square-test confidence-intervals data-analysis dublin dublin-ireland europe hyphotesis-tests ireland normal-distribution null-hypothesis p-value portfolio python statistics streamlit t-test tech ubuntu z-test

Last synced: 3 months ago
JSON representation

Interactive statistics analysis app using Python and Streamlit. Perform key statistical tests, visualise distributions, and explore data with ease.

Awesome Lists containing this project

README

          

# ๐Ÿงฎ **Statistics Calculator**
### **Analyse Data and Perform Key Statistical Tests**

**The Statistics Calculator app is designed to help users analyse numerical data and conduct essential statistical tests with ease. Built using Python and Streamlit, this app provides intuitive tools for statistical exploration and analysis.**

---

## ๐Ÿงฌ **Project Structure**
```bash
StatisticsApp
โ”œโ”€โ”€ assets/
โ”‚ โ””โ”€โ”€ gifs/
โ”‚ โ”œโ”€โ”€ ConfidenceIntervalCalculator.gif
โ”‚ โ”œโ”€โ”€ NormalDistributionChecker.gif
โ”‚ โ”œโ”€โ”€ NormalDistributionGenerator.gif
โ”‚ โ””โ”€โ”€ SignificanceLevelCalculator.gif
โ”œโ”€โ”€ streamlit_app/
โ”‚ โ”œโ”€โ”€ pages/
โ”‚ โ”‚ โ”œโ”€โ”€ 01_1๏ธโƒฃ_NormalDistributionGenerator.py
โ”‚ โ”‚ โ”œโ”€โ”€ 02_2๏ธโƒฃ_NormalDistributionChecker.py
โ”‚ โ”‚ โ”œโ”€โ”€ 03_3๏ธโƒฃ_SignificanceLevelCalculator.py
โ”‚ โ”‚ โ””โ”€โ”€ 04_4๏ธโƒฃ_ConfidenceIntervalCalculator.py
โ”‚ โ””โ”€โ”€ 00_0๏ธโƒฃ_Info.py
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ requirements.txt
```

---

## ๐Ÿ› ๏ธ **How It's Built**

The Statistics Calculator leverages the following technologies:

- **Streamlit** - For creating an intuitive and interactive web interface.
- **NumPy** - For efficient numerical calculations.
- **SciPy** - For performing statistical tests.
- **Matplotlib** - For visualising data and test results.
- **Pandas** - For handling and processing datasets.

---

## ๐Ÿง‘โ€๐Ÿ’ป **Key Features**

1. **Normal Distribution Generator**:
- Generate datasets based on the Normal Distribution.
- Specify parameters such as mean, standard deviation, and sample size.
- Download the generated data or copy it directly from the app.

2. **Normal Distribution Checker**:
- Analyse your dataset to determine if it follows a Normal Distribution.
- Perform statistical tests like the Shapiro-Wilk test.
- Visualise your data against a theoretical normal curve.

3. **Significance Level Calculator**:
- Calculate p-values for Z-tests, T-tests, and more.
- Visualise acceptance and rejection regions.
- Determine if the null hypothesis (Hโ‚€) can be rejected at a given significance level.

4. **Confidence Interval Calculator**:
- Compute confidence intervals for means and proportions.
- Visualise confidence intervals with shaded regions.
- Determine whether specific values fall within the confidence interval.

---

## ๐Ÿš€ **Getting Started**

### **Local Installation**

1. Clone the repository:
```bash
git clone https://github.com/user/StatisticsApp.git
```
**Hint:** Replace `user` with `josericodata` in the URL above. I am deliberately asking you to pause here so you can support my work. If you appreciate it, please consider giving the repository a star or forking it. Your support means a lotโ€”thank you! ๐Ÿ˜Š

2. Navigate to the project directory:

```bash

cd StatisticsApp
```

3. Create a virtual environment:
```bash
python3 -m venv venvStats
```

4. Activate the virtual environment:
```bash
source venvStats/bin/activate
```

5. Install requirements:
```bash
pip install -r requirements.txt
```

6. Navigate to the app directory:
```bash
cd streamlit_app
```

7. Run the app:
```bash
streamlit run 00_0๏ธโƒฃ_Info.py
```

The app will be live at ```http://localhost:8501```

---

## ๐ŸŽฌ **Demo**

### 01_1๏ธโƒฃ_NormalDistributionGenerator:
![Normal Distribution Generator](https://raw.githubusercontent.com/josericodata/StatisticsApp/main/assets/gifs/NormalDistributionGenerator.gif)

### 02_2๏ธโƒฃ_NormalDistributionChecker:
![Normal Distribution Checker](https://raw.githubusercontent.com/josericodata/StatisticsApp/main/assets/gifs/NormalDistributionChecker.gif)

### 03_3๏ธโƒฃ_SignificanceLevelCalculator:
![Significance Level Calculator](https://raw.githubusercontent.com/josericodata/StatisticsApp/main/assets/gifs/SignificanceLevelCalculator.gif)

### 04_4๏ธโƒฃ_ConfidenceIntervalCalculator:
![Confidence Interval Calculator](https://raw.githubusercontent.com/josericodata/StatisticsApp/main/assets/gifs/ConfidenceIntervalCalculator.gif)

---

### โ–ถ๏ธ Watch the YouTube Tutorial

[![Statistics Calculator with Python & Streamlit Perform Key Statistical Tests Online](https://img.youtube.com/vi/wNk-TJSiR1w/maxresdefault.jpg)](https://www.youtube.com/watch?v=wNk-TJSiR1w "Click to play")

Click the image above or [here](https://www.youtube.com/watch?v=wNk-TJSiR1w) to watch the video on YouTube.

---

## ๐Ÿ”ฎ **Future Enhancements**

Planned features include:

- Additional statistical tests, including Chi-square and ANOVA.
- Support for uploading and analysing larger datasets.
- Advanced visualisations for data exploration.

---

## ๐ŸŽ“ **Motivation**

This project comes after graduating from CCT College in Dublin, Ireland. The goal of this app is to help users understand how statistics work by making abstract concepts more tangible through visualisations. I hope this tool empowers you to explore and learn statistics with ease.

---

## ๐Ÿ”ง **Environment Setup**

This app has been built and tested in the following environment:

- **Operating System**: Ubuntu 22.04.5 LTS (Jammy)
- **Python Version**: Python 3.10.12

---

## ๐Ÿ“‹ **Important Notes**

- **Statistical Knowledge**: While the app simplifies statistical analysis, a basic understanding of statistics will enhance the user experience.
- **Input Data**: Ensure your input data is clean and formatted correctly to avoid errors.

---

### ๐Ÿค **Open Pull Requests**
If you need a specific statistical tool, feel free to contact me by opening a pull request on GitHub or via email at **maninastre@gmail.com**.

---

## โš ๏ธ **Disclaimer**

This app is intended for educational and demonstration purposes only. The results are not guaranteed to be error-free and should not be used for critical decision-making.