AWS Public Sector Blog
Maximizing satellite communications usage with Amazon Forecast
Satellite communications (satcom) serve a wide range of industries such as telecommunications, broadcasting, military, aviation and maritime, and emergency services. Satellite operators provide bandwidth allocation to each of these segments. However, a key concern is to maximize the utilization of capacity to meet demand while avoiding overprovisioning. Forecasting satellite usage has been traditionally challenging due to issues like demand spikes, impact of weather on link conditions, and a lack of data science expertise to build machine learning (ML) models to predict bandwidth needs.
Amazon Forecast is a fully managed deep learning service for time-series forecasting which can be used to estimate future capacity needs enabling operators to make planning decisions with more confidence.
This walkthrough focuses on a maritime shipping use-case. It uses Amazon Forecast to build a time series predictor model for each satellite beam in the ship(s) path, accounting for the impact of weather conditions in a given location. It then renders results in an Amazon QuickSight dashboard, displaying forecasted capacity needs, accuracy metrics, and which features most impact the model.
Prerequisites
To deploy this solution, you must have an AWS account and a role with sufficient access to create resources in the following services:
- Amazon Forecast
- AWS Lambda
- Amazon Simple Storage Service (Amazon S3)
- Amazon QuickSight
- Amazon SageMaker
Use cases for satellite communications capacity forecasting
Let’s consider a maritime shipping scenario in the Atlantic Ocean. Figure 1 shows various ships equipped with antennas, crossing the ocean and passing through spot beams S1 to S15 of a geostationary (GEO) high throughput satellite (HTS). Satcom networks typically connect a large antenna at a teleport to one or more smaller antennas in remote locations, in this case, a mobile terminal.
Customers typically purchase satellite bandwidth, measured in MHz, and have some degree of flexibility in the distribution of bandwidth across each of the beams. For example, a customer may allocate 54MHz to spot beam 1 and twice that bandwidth to spot 2 if its coverage area overlaps more popular cruise ship or oil tanker navigation paths.
Figure 1: Ships passing through satellite spot beams in various weather conditions
Satellite inventory depends mainly on the capacity (MHz), power, antenna size, and weather conditions. It is a variable unit that has to be maximized in each instance of time. For example, the vessel in Spot Beam 1 is maximizing bits per Hertz efficiency as it is in the center of the footprint and enjoying clear skies. By contrast the ship in Spot 8 is on the edge of the beam during a thunderstorm; the net effect is a lower signal-to-noise ratio leading to reduced throughput and lower efficiency.
Demand spikes also need to be accounted for; holiday traffic, major sporting events, or peak shipping seasons all impact satellite capacity planning.
Satellite operators require advance notice of capacity needs to plan out allocation, enabling the most efficient distribution of satellite capacity. This is where Amazon Forecast provides great benefit. In much the same way as a supermarket operator might want to predict how much orange juice to stock for the next few days, Amazon Forecast can predict future capacity needs per beam leveraging historical bandwidth usage data and related time series such as weather metrics.
An accurate forecasting strategy can lead to lower costs through higher bandwidth utilization, and higher passenger satisfaction with successful handling of surges.
Applying Amazon Forecast to satcom datasets
The code and scripts for this tutorial are available at the AWS samples GitHub location under the satellite-comms-forecast-aws repository. A Jupyter notebook automates the data import, predictor, and forecast generation steps.
Let’s walk through how to set up Amazon Forecast for satellite capacity forecasting to predict bandwidth usage per spot beam in MHz.
First, load time series throughput data for the shipping route and related datasets such as weather, which can lend statistical strength to the forecasting model.
Next, train a model with AutoPredictor which runs multiple base models to improve forecast accuracy. Each time series can receive a bespoke recipe – a blend of predictions based on six different statistical and deep-learning algorithms ensuring each time-series has the best model to match its signature.
Assuming the model accuracy metrics are satisfactory, you can then generate a capacity forecast per spot beam. Demand can change quickly, hence we set the forecast granularity to 10-minute intervals with a forecast horizon of 24 hours.
Finally, we visualize both historical and forecast data using Amazon QuickSight, a business intelligence tool. This enables operations teams to forecast trends over time and spot outliers reducing both risk and cost since just enough bandwidth can then be distributed more confidently.
Navigate to the GitHub repo to get started.
Preparing the time series datasets
There are three types of datasets used in the forecasting workflow:
- Target Time Series (TTS) (required) – historical data with the item id of the primary variable to predict. In our case, this is bandwidth usage in MHz.
- Related Time Series (RTS) (optional) – data with some correlation to the target value. Here, we use weather data from the National Data Buoy Center providing sea level pressure in hectopascals (hPa). A value below 990 hPA indicates potentially severe weather in the area.
- Item metadata (optional) – static, categorical features (not used in this model)
The tutorial supplies 14 days of TTS and RTS data at 10-minute intervals. Why do we need so much? One reason is we want to identify any day of week or hour of day patterns—such as the daily sea breeze effect in summer in Florida, US.
Note: If you take care to build future dated RTS that ends when your predicted time horizon ends, it enables Amazon Forecast to leverage a more diverse set of deep learning models.
Training the satellite capacity predictor model
The next step is training a satellite capacity model with Amazon Forecast AutoPredictor. Each ML algorithm has its own strengths hence AutoPredictor performs an ensemble routine – the wisdom of the crowd – to increase accuracy compared to any single model.
Key inputs to the model are the forecast frequency and horizon window. Set these to 10 minutes and 144 respectively; the 10-minute frequency matches the TTS and RTS intervals, whilst 144 represents 1 day (6 * 24) of future data points.
After the prediction completes, it is important to evaluate the quality of the model using the accuracy metrics.
Figure 2: Satellite Capacity Predictor model accuracy metrics
Two of the metrics this walkthrough focuses on are Weighted Absolute Percentage Error (WAPE) and P90 Weighted Quantile Loss (wQL). In both cases, lower numbers indicate higher accuracy.
WAPE measures the overall deviation of forecasted values from observed values. P90 wQL indicates the confidence level of the true value being lower than the predicted value 90% of the time. This is important because satellite operators typically want to slightly overprovision to make sure consumers have enough bandwidth the majority of the time. The 0.0789 WAPE shows that on average, our estimates are 92.11% accurate, so we are happy with this model.
Note: The Root Mean Square Error (RMSE) may look alarming—however, this metric uses the average of squared errors, and is therefore more sensitive to outliers. In this scenario, a high RMSE is not significant. However, it may be extremely pertinent for a GEO HTS satellite manufacturer predicting machine part failure, where any deviation from actual v forecast is critical.
A term used in understanding the relative impact of model attributes is “explainability” – basically, we want to know which attributes matter most.
Figure 3: Model Explainability – quantify relative impact of each attribute
Figure 3 illustrates that air_pressure had the most impact on the model. Continually refining this RTS attribute will therefore have more impact than day_of_week or hour_of_day data points.
Generating a satellite capacity forecast and visualizing results
The final element is to launch a forecast. To create one, simply specify the predictor model and up to five forecast quantile values. The P90 forecast is the key trend of interest to slightly overprovision capacity ensuring consumers have enough bandwidth the majority of the time.
FORECAST_NAME = "SATCOM_FORECAST"
# by default we get a P10, P50, P90 wQL - we are most interested in P90 wQL
response = forecast.create_forecast(ForecastName=FORECAST_NAME, PredictorArn=predictor_arn)
forecast_arn = response['ForecastArn']
print(f"Waiting for Forecast with ARN {forecast_arn} to become ACTIVE.")
A graphical visualization is built into the Amazon Forecast Query capability. However, satellite operators typically desire dashboards with multiple integrated metrics. Additionally, the engineers making decisions on predictions may be a different group than the developers who created the forecast.
For these reasons, we export all the metrics to Amazon S3, and visualize in Amazon QuickSight.
Figure 4: Visualization of satellite capacity forecast, accuracy metrics, historical, and weather data in Amazon QuickSight
The forecast (Figure 4 top-left) provides a prediction for each spot-beam, and recognizes the daily surge in demand from 1-2 AM. The accuracy metrics provide guardrails for the satellite operator to be confident in the model. Finally, the historical shipping bandwidth demand and RTS (weather) data are plotted for reference.
Future improvements
There are several areas for future improvements of this solution:
- MLOps – the workflow can be automated by leveraging the AWS CloudFormation template supplied in the blog post, “Automate the deployment of an Amazon Forecast time-series forecasting model.”
- Holiday surge traffic – Forecast has a built-in feature of national holiday information for over 250 countries. Note that Forecast also has weather indexing however it is limited to land-based geolocations hence not applicable to this maritime use-case.
- Aviation – a similar solution could be applied to In Flight Connectivity (IFC). In this case, a more relevant RTS dataset might be satellite teleport weather, using weather APIs to forecast storms which may affect teleport antennas.
- Additional RTS metrics – supplying modulation and coding modes, solar flare activity, and more can help improve the model accuracy.
Summary
This walkthrough explores how to leverage Amazon Forecast to derive valuable business insights in satcom use-cases. Operations teams can quickly see accurate satellite capacity forecasts on a per beam basis. The benefits include lower cost via provisioning just the right amount of bandwidth, and a more streamlined customer experience since users will be less impacted by weather or surge events.
Get started with the code repository to develop prediction models as a baseline for your next workload. Check out more Amazon Forecast use-cases.
For more Aerospace and Satellite learning resources, visit AWS for Aerospace and Satellite.
Subscribe to the AWS Public Sector Blog newsletter to get the latest in AWS tools, solutions, and innovations from the public sector delivered to your inbox, or contact us.
Please take a few minutes to share insights regarding your experience with the AWS Public Sector Blog in this survey, and we’ll use feedback from the survey to create more content aligned with the preferences of our readers.