Skip to content

Commit

Permalink
Recipe notebook for GenseriesSinusoids
Browse files Browse the repository at this point in the history
  • Loading branch information
shilpa-nalkande committed Feb 13, 2025
1 parent fc09800 commit 1290313
Showing 1 changed file with 308 additions and 0 deletions.
308 changes: 308 additions & 0 deletions Recipes/ClearScape_Functions/GenseriesSinusoids.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,308 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "bc549e6c-0cc4-4188-94a3-a9bdd3ae3dfa",
"metadata": {},
"source": [
"<header>\n",
" <p style='font-size:36px;font-family:Arial; color:#F0F0F0; background-color: #00233c; padding-left: 20pt; padding-top: 20pt;padding-bottom: 10pt; padding-right: 20pt;'>\n",
" GenseriesSinusoids function in Vantage\n",
" <br>\n",
" <img id=\"teradata-logo\" src=\"https://storage.googleapis.com/clearscape_analytics_demo_data/DEMO_Logo/teradata.svg\" alt=\"Teradata\" style=\"width: 125px; height: auto; margin-top: 20pt;\">\n",
" </p>\n",
"</header>"
]
},
{
"cell_type": "markdown",
"id": "7ae7611a-0795-4168-b716-01fee6880cbd",
"metadata": {},
"source": [
"<p style = 'font-size:20px;font-family:Arial;color:#00233C'><b>Introduction</b></p>\n",
"\n",
"<p style = 'font-size:20px;font-family:Arial;color:#00233C'><b>GenseriesSinusoids</b></p>\n",
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'> The GenseriesSinusoids() function generates a result series containing a subset of the sinusoidal elements periodicities (sinusoids).</p>\n",
"\n",
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'>User can subtract the new time series from the original time series by removing the periodicities. The following procedure is an example of how to use GenseriesSinusoids() function:</p>\n",
"<li style = 'font-size:16px;font-family:Arial;color:#00233C'>Use the LineSpec() or PowerSpec() function with \"freq_style\" argument set to 'K_PERIODICITY' to determine the periodicities in the series.</li>\n",
"<li style = 'font-size:16px;font-family:Arial;color:#00233C'>Use the result dataframe from the GenseriesSinusoids() function to view the periodicities.</li>\n",
"<li style = 'font-size:16px;font-family:Arial;color:#00233C'>Use GenseriesSinusoids() function with the \"periodicities\" argument and a comma-separated list of periodicities to exclude from the data set.</li>\n",
"<li style = 'font-size:16px;font-family:Arial;color:#00233C'>Use the BinarySeriesOp() function to subtract the generated series from the original series using \"mathop\" argument value as 'SUB'.</li>\n",
"<li style = 'font-size:16px;font-family:Arial;color:#00233C'>Use the PowerSpec() function to verify that target periodicities have been removed from the original series.</li>\n",
"</p>"
]
},
{
"cell_type": "markdown",
"id": "6b3a00b4-6661-4c91-9b2d-cb7b0b403140",
"metadata": {},
"source": [
"<hr style=\"height:2px;border:none;background-color:#00233C;\">\n",
"<b style = 'font-size:20px;font-family:Arial;color:#00233C'>1. Initiate a connection to Vantage</b>"
]
},
{
"cell_type": "markdown",
"id": "2346857f-e0d3-488a-8a3f-ac6dff752c2b",
"metadata": {},
"source": [
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'>In the section, we import the required libraries and set environment variables and environment paths (if required)."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c5af5af3-29d5-4f6a-8334-9df6924e7787",
"metadata": {},
"outputs": [],
"source": [
"from teradataml import (\n",
" create_context,\n",
" execute_sql,\n",
" load_example_data,\n",
" DataFrame,\n",
" in_schema,\n",
" TDSeries,\n",
" GenseriesSinusoids,\n",
" db_drop_view,\n",
" remove_context,\n",
" copy_to_sql,\n",
" db_drop_table\n",
" )\n",
"\n",
"from teradatasqlalchemy.types import *\n",
"\n",
"from teradataml import to_numeric\n",
"# Modify the following to match the specific client environment settings\n",
"display.max_rows = 5"
]
},
{
"cell_type": "markdown",
"id": "ad3dd7b4-831c-4fb3-ab71-719c8c99a71c",
"metadata": {},
"source": [
"<hr style=\"height:1px;border:none;background-color:#00233C;\">\n",
"<p style = 'font-size:18px;font-family:Arial;color:#00233c'><b>1.1 Connect to Vantage</b></p>\n",
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'>You will be prompted to provide the password. Enter your password, press the Enter key, and then use the down arrow to go to the next cell.</p>"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "2742444c-4349-4b0f-b4e5-b068a8785cd9",
"metadata": {},
"outputs": [],
"source": [
"%run -i ../../UseCases/startup.ipynb\n",
"eng = create_context(host = 'host.docker.internal', username='demo_user', password = password)\n",
"print(eng)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "01c4a128-d106-46ea-8dee-34acc5abd29f",
"metadata": {},
"outputs": [],
"source": [
"%%capture\n",
"execute_sql('''SET query_band='DEMO=PP_GenseriesSinusoids_Python.ipynb;' UPDATE FOR SESSION; ''')"
]
},
{
"cell_type": "markdown",
"id": "efe2fd2d-63ff-4278-9157-8b9110d682e8",
"metadata": {},
"source": [
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'>Begin running steps with Shift + Enter keys. </p>"
]
},
{
"cell_type": "markdown",
"id": "4a6e3852-3b15-4cbd-844d-e7194b3bd204",
"metadata": {},
"source": [
"<hr style='height:1px;border:none;background-color:#00233C;'>\n",
"\n",
"<p style = 'font-size:18px;font-family:Arial;color:#00233c'><b>1.2 Getting Data for This Demo</b></p>\n",
"\n",
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'>Here, we will get the time series data which is available in the teradataml library and use the same to show the usage of the function.</p>"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "398fa0aa-c0df-4130-9dea-53b776fbaf80",
"metadata": {},
"outputs": [],
"source": [
"load_example_data(\"uaf\", [\"production_data\"])"
]
},
{
"cell_type": "markdown",
"id": "2a3762ac-ba27-4fa3-adba-d577262a4290",
"metadata": {},
"source": [
"<hr style=\"height:2px;border:none;background-color:#00233C;\">\n",
"<b style = 'font-size:20px;font-family:Arial;color:#00233C'>2. Data Exploration</b>\n",
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'>Create a \"Virtual DataFrame\" that points to the data set in Vantage. Check the shape of the dataframe as check the datatype of all the columns of the dataframe.</p>"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9672d80d-cdcc-4f4c-9399-7c367e7970b1",
"metadata": {},
"outputs": [],
"source": [
"data = DataFrame.from_table(\"production_data\")\n",
"data"
]
},
{
"cell_type": "markdown",
"id": "4a2f79a0-eb16-4c3b-bec2-c313e97ac940",
"metadata": {},
"source": [
"<hr style=\"height:2px;border:none;background-color:#00233C;\">\n",
"<b style = 'font-size:20px;font-family:Arial;color:#00233C'>3. GenseriesSinusoids</b>\n",
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'>The Execute the GenseriesSinusoids() function on TDSeries input to generate a time series containing a subset of the sinusoidal elements periodicities, whose payload content value is REAL.</p>\n",
"\n",
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'>The first step is to convert the data into TDSeries, which is required for the input time series which are passed to the GenseriesSinusoids function.</p>\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a711f58c-fbd3-4457-9f6a-9cd5c1b192dc",
"metadata": {},
"outputs": [],
"source": [
"data_series_df = TDSeries(data=data,\n",
" id=\"product_id\",\n",
" row_index=\"TD_TIMECODE\",\n",
" payload_field=\"beer_sales\",\n",
" payload_content=\"REAL\")"
]
},
{
"cell_type": "markdown",
"id": "fbd73eb0-1ef2-4612-a8d5-c69af624bbc7",
"metadata": {},
"source": [
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'>The Input parameters which are passed to the GenseriesSinusoids function are as below:</p>\n",
"\n",
"<li style = 'font-size:16px;font-family:Arial;color:#00233C'><code>data</code>: Specifies the input time series, whose payload content value is 'REAL'.</li>\n",
"\n",
"<li style = 'font-size:16px;font-family:Arial;color:#00233C'><code>periodicities</code>: Specifies the periodicity as a comma-separated list, which contains one or more floating point values representing periodicities.</li>\n",
"</p>\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8965392c-404e-4e25-b5b8-c7ef06069154",
"metadata": {},
"outputs": [],
"source": [
"uaf_out = GenseriesSinusoids(data=data_series_df,\n",
" periodicities=[0.523, 1.4367])\n",
"\n",
"sinusoid_df = uaf_out.result\n",
"sinusoid_df"
]
},
{
"cell_type": "markdown",
"id": "c25fdaf1-098b-4dea-984b-579c6412557e",
"metadata": {},
"source": [
"<hr style=\"height:2px;border:none;background-color:#00233C;\">\n",
"<b style = 'font-size:20px;font-family:Arial;color:#00233C'>4. Cleanup</b>"
]
},
{
"cell_type": "markdown",
"id": "a5d460af-1a32-4681-8094-360c3f25dc1f",
"metadata": {},
"source": [
"<p style = 'font-size:18px;font-family:Arial;color:#00233C'><b>Work Tables</b></p>\n",
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'>The following code will clean up tables created above.</p>"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9dff9677-dae1-4cc5-b78e-3d197cc41e0c",
"metadata": {},
"outputs": [],
"source": [
"db_drop_table(\"production_data\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9b96168c-7973-4259-b3e0-668b92fd846e",
"metadata": {},
"outputs": [],
"source": [
"remove_context()"
]
},
{
"cell_type": "markdown",
"id": "4317a6cf-1479-4aa8-b30a-ee0a3b5231a8",
"metadata": {},
"source": [
"<hr style=\"height:1px;border:none;background-color:#00233C;\">\n",
"\n",
"<p style = 'font-size:16px;font-family:Arial;color:#00233C'><b>Links:</b></p>\n",
"<ul style = 'font-size:16px;font-family:Arial'>\n",
" <li>Teradataml Python reference: <a href = 'https://docs.teradata.com/search/all?query=Python+Package+User+Guide&content-lang=en-US'>here</a></li>\n",
" <li>GenseriesSinusoids function reference: <a href = 'https://docs.teradata.com/search/all?query=GenseriesSinusoids&content-lang=en-US'>here</a></li>\n",
" \n",
"</ul>"
]
},
{
"cell_type": "markdown",
"id": "b2dcca28-5de5-44d7-88cb-45a12153b3f8",
"metadata": {},
"source": [
"<footer style=\"padding-bottom:35px; background:#f9f9f9; border-bottom:3px solid #00233C\">\n",
" <div style=\"float:left;margin-top:14px\">ClearScape Analytics™</div>\n",
" <div style=\"float:right;\">\n",
" <div style=\"float:left; margin-top:14px\">\n",
" Copyright © Teradata Corporation - 2025. All Rights Reserved\n",
" </div>\n",
" </div>\n",
"</footer>"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

0 comments on commit 1290313

Please sign in to comment.