Price Similarity Network Analysis using Pakistan Bureau of Statistics CPI Data
This desktop application analyzes multi-year Consumer Price Index data to construct temporal similarity networks between cities based on their price patterns across different product categories.
- Multi-year temporal network analysis
- 7 product categories
- 4 centrality metrics (Degree, Closeness, Betweenness, Eigenvector)
- Multiple weighting schemes (Equal, Entropy-based, Correlation-based)
- Temporal partial order verification
- Interactive visualizations
- Data aggregation across years
- Python 3.8 or higher
- See
requirements.txtfor package dependencies
INSTALL.batOr manually:
python -m pip install -r requirements.txtpip install -r requirements.txtRUN_APP.batOr:
python desktop_app.pypython3 desktop_app.pyInput CSV file must contain the following columns:
Year- Numerical yearMonth- Month nameCity- City nameProduct- Product namePrice- Numerical price value
Default data file: data.csv
desktop_app.py- GUI applicationprice_network_analysis.py- Core analysis enginedata.csv- CPI dataset
- Overview - Dataset statistics with year filtering
- Network - Interactive graph visualization
- Centrality - Metric comparison charts
- Rankings - City influence scores
- Heatmap - Similarity matrices
- Temporal - Partial order analysis
- Credits - Project information
- Similarity Threshold (0.5 - 0.95)
- Normalization Method (Z-score, Min-Max)
- Missing Data Strategy (Drop, Mean, Median)
- Weighting Scheme (Equal, Entropy-based, Correlation-based)
similarity(A, B) = (A · B) / (||A|| × ||B||)
S(i,y,c) = w_D × D(i,y,c) + w_C × C(i,y,c) + w_B × B(i,y,c) + w_E × E(i,y,c)
H_k = -Σ(p_ik × log(p_ik))
w_k = H_k / Σ(H_j)
G(y,c) ⊆ G(y',c) defines partial order
When "All Years" is selected:
- Networks: Combines graphs and averages edge weights
- Centralities: Averages metrics across years
- Rankings: Aggregates and averages influence scores
- Heatmaps: Element-wise average of similarity matrices
- Rankings can be exported to CSV
- Visualizations displayed in application
Course: Discrete Structures
Institution: FAST National University
Program: BS Computer Science
Semester: Fall 2024
Team Members:
- Hassaan Amin (24I-0880)
- Ammar Bin Omer (24I-0500)
- Haris Zahid Abbasi (24I-0643)
- CustomTkinter - GUI framework
- NetworkX - Graph analysis
- Pandas - Data processing
- NumPy - Numerical computing
- Matplotlib - Plotting
- Seaborn - Statistical visualization
- SciPy - Scientific computing
Academic project for educational purposes.
Pakistan Bureau of Statistics (PBS)
Consumer Price Index Publications
https://www.pbs.gov.pk/price/