Economic resonance frequency - Fourier analysis

Published: 6 March 2024| Version 1 | DOI: 10.17632/zw7cx7v33g.1
Sunil Maria Benedict


This Python script performs simulations of historical growth data for economic sectors and conducts Fourier analysis to identify dominant frequencies. Here's a description of the data and its visualization: Simulated Historical Growth Data: The script generates synthetic historical growth data for economic sectors over a period of time. The growth data is modeled as a sinusoidal function with added noise to simulate real-world variability. Parameters such as frequency and amplitude control the characteristics of the simulated growth data. Each simulation represents a different scenario with varying frequency and amplitude. Fourier Analysis: Fourier analysis is applied to the simulated growth data to decompose it into its frequency components. The Fourier transform is computed using the Fast Fourier Transform (FFT) algorithm. The amplitude spectrum is plotted, showing the amplitudes of different frequency components present in the growth data. Peaks in the amplitude spectrum represent dominant frequencies, indicating the frequencies at which the growth data responds most efficiently to regulatory changes. The red circles mark the identified peaks in the amplitude spectrum, representing the dominant frequencies. Interpretation: The visualizations provide insights into the frequency characteristics of historical growth data for economic sectors. By analyzing the dominant frequencies identified through Fourier analysis, policymakers and analysts can gain a better understanding of the frequencies at which economic sectors respond most efficiently to regulatory adjustments. This information can inform decision-making processes aimed at optimizing regulatory changes to promote economic growth and stability. In summary, the script facilitates the analysis of historical growth data for economic sectors through Fourier analysis, offering valuable insights into the frequency dynamics and Economic Resonance Frequency (ERF) of the simulated data.


Steps to reproduce

import numpy as np import matplotlib.pyplot as plt from scipy.fftpack import fft from scipy.signal import find_peaks # Function to simulate historical growth data and perform Fourier analysis def simulate_and_analyze_growth(frequency, amplitude): t = np.linspace(0, 10, 1000) # Time periods g = amplitude * np.sin(2 * np.pi * frequency * t) + 0.5 * np.random.normal(size=len(t)) # Simulated growth data with noise # Fourier analysis to identify dominant frequency fft_result = fft(g) frequencies = np.fft.fftfreq(len(fft_result)) positive_frequencies = frequencies[:len(frequencies)//2] amplitudes = np.abs(fft_result[:len(fft_result)//2]) # Find peaks in the amplitude spectrum peaks, _ = find_peaks(amplitudes, height=0.5) # Extract dominant frequency dominant_frequency = positive_frequencies[peaks][0] # Plotting the simulated growth data and Fourier analysis results plt.figure(figsize=(12, 8)) # Simulated growth data plt.subplot(2, 1, 1) plt.plot(t, g) plt.title('Simulated Historical Growth Data') plt.xlabel('Time Periods') plt.ylabel('Growth') # Amplitude spectrum with dominant frequency plt.subplot(2, 1, 2) plt.plot(positive_frequencies, amplitudes) plt.plot(positive_frequencies[peaks], amplitudes[peaks], 'ro') # Mark peaks plt.title(f'Fourier Analysis - Dominant Frequency: {dominant_frequency:.2f}') plt.xlabel('Frequency') plt.ylabel('Amplitude') plt.tight_layout() # Simulations with different frequency and amplitude characteristics simulate_and_analyze_growth(frequency=0.7, amplitude=1.5) simulate_and_analyze_growth(frequency=1.5, amplitude=0.8) simulate_and_analyze_growth(frequency=2.3, amplitude=1.2) simulate_and_analyze_growth(frequency=0.9, amplitude=1.0)


CMR Group of institutions


Mathematics, Economics, Econometrics, Econophysics, Fourier Analysis