Category: Microsoft
Category Archives: Microsoft
The .Net response code changed from a 201 to a 200 on all .Net framework versions from 4.8 and below
The .Net response code changed from a 201 to a 200 on all .Net framework versions from 4.8 and below which is very weird. I upgrade this to a .net core or higher version the status code returned is a 201.can someone please help me solve this mystery?
The .Net response code changed from a 201 to a 200 on all .Net framework versions from 4.8 and below which is very weird. I upgrade this to a .net core or higher version the status code returned is a 201.can someone please help me solve this mystery? Read More
Introducing Semantic Workbench: Your Gateway to Agentic AI Development
Introducing Semantic Workbench: Your Gateway to Agentic AI Development
In the rapidly evolving landscape of artificial intelligence (AI), the ability to quickly prototype and integrate intelligent assistants is becoming increasingly crucial. Whether you’re developing a new agent from scratch or integrating an existing one, having a versatile and user-friendly tool can make all the difference. Enter Semantic Workbench — a powerful tool designed to streamline the creation and management of intelligent agents.
The Semantic Workbench comes from our own efforts inside Microsoft to explore these ideas, it is a platform in active use. We decided to make this available as multiple teams inside Microsoft are finding value in it and we believe the broader community will as well. Separating it out as an independent project will enable teams that want to use this to add capabilities for their scenarios which will benefit everyone using it.
What is Semantic Workbench?
Semantic Workbench is a versatile tool designed to help you prototype intelligent agents quickly and efficiently. It supports the creation of new assistants or the integration of existing ones, all within a cohesive and intuitive interface. The workbench provides a user-friendly UI for creating conversations with one or more assistants, configuring settings, and exposing various behaviors.
Semantic Workbench is composed of three main components, each playing a crucial role in its functionality:
Workbench Service: The backend service that handles core functionalities, such as agents’ interaction, conversations, file uploads, authentication, and more.
Workbench App: The frontend web user interface that allows users to interact with the workbench and assistants seamlessly.
Agent Services: Any number of agent services that implement the workbench service protocol API, developed using any framework and programming language of your choice.
Why Use Semantic Workbench?
Simplified AI Agents Development
Writing a new agent and multi-agent solutions with Semantic Workbench is very simple. Developers can focus on the most important aspects, such as messaging, handling events, and executing commands. The integration with the workbench is a non-intrusive thin layer that can be removed when agents are ready for production, ensuring a smooth transition from development to deployment.
Versatility and Flexibility
Designed to be agnostic of any agent framework, language, or platform, Semantic Workbench facilitates experimentation, development, testing, and measurement of agent behaviors and workflows. This flexibility allows developers to integrate agents via a RESTful API, making it broadly applicable in various development environments. Agents can be written in any programming language and can interact with the user and each other via the Semantic Workbench web service.
User-Friendly Interface with Real-Time Insights and Debugging
Semantic Workbench provides a cohesive and intuitive interface for creating and managing conversations with intelligent assistants. This user-friendly UI simplifies the process of configuring settings and exposing various behaviors, making it accessible even to those who may not have extensive technical expertise. The interface allows users to chat with agents and offers other utilities to aid development, such as attaching debugging information to each message, including details about agent behavior, costs, and performance.
Agents can publish insights, called “states”, that are visible on side panels. These insights can be HTML/Markdown pages, allowing for the publication of complex information. Agents can update these insights in real-time, providing continuous feedback and debugging information. This feature is invaluable for developers looking to fine-tune agent behaviors and performance.
Customizable Configuration
Agents can have custom configuration settings, which are completely customizable. This includes text areas, radio buttons, checkboxes, and more, providing developers with the flexibility to tailor the settings to their specific needs. Agents can also expose configuration options such as prompts and temperature into assistant options making end user customization possible to improve iteration without having to update code.
File Management, Persistence and Cloning
The workbench also supports file management, allowing both users and agents to upload and manage files. This means AI agents can generate output as files that can be downloaded or shared with other agents, facilitating a more integrated and collaborative development environment.
Conversations and agents persist on disk, so you can develop an agent, restart it, and continue without losing state. Conversations can also be downloaded, making it easy to share demos and test results. Additionally, agents can be cloned to work with different configurations, allowing for parallel development and testing.
Conversation management
There are options within the conversation interface to delete messages from the conversation, as well as the option to rewind the conversation to a specific point which removes all the messages past that. You also have the option to add files to the conversation via a side panel or as part of a message. The side panel also provides you the option to export a conversation as markdown. There is an option to import past conversations from the dashboard screen as well.
The chat interface also informs you as to how many tokens your message is going to use.
Responses from generative assistants provide an info button which allows you to access the underlying messages that were sent to generate that response and examine details such as how many tokens were used.
Support for Multiple Users
The workbench supports multiple users. Conversations with assistants support multiple participants. Links to a conversation can be shared with other users to join. The workbench is configured by default to work with Microsoft organization or personal accounts.
Getting Started with Semantic Workbench
To get started with Semantic Workbench, you can follow these steps:
Clone the Repository: start by cloning the Semantic Workbench repository from GitHub at https://github.com/microsoft/semanticworkbench
Set Up the Workbench Service: Install and configure the backend service to handle core functionalities.
Launch the Workbench App: Use the frontend web interface to interact with the workbench and assistants.
Integrate your Agent Services: Develop and integrate agent services using any framework and programming language of your choice, following the service protocols/APIs. Agents can be developed with any editor, from VS Code and Visual Studio, to Rider, PyCharm, and any IDE.
You can get started even more quickly by opening the repository locally in VS Code, and letting it open the project as a dev container. In this mode all the required dependencies are provided automatically and there are launch configurations provided to start the Workbench Service and App. You can also open the repository directly in GitHub Codespaces for editing, please see this readme on an additional required step for running it in Codespaces.
Using the Semantic Workbench
On your first run of the Semantic Workbench, you’ll need to agree to the terms and sign in. This step is necessary even for local use because the workbench supports multiple users. Once signed in, you’ll be greeted by the Semantic Workbench dashboard.
The dashboard allows you to manage assistants. You can select an assistant from a dropdown menu if you’ve already created one or start a new one. Creating a new assistant involves selecting it from the dropdown and providing a name. The repository includes a Canonical Assistant that echoes input, which can be used as a starting point for your projects.
After saving your assistant you can select it and change any of its default setting if you like. Assistants can surface settings such as prompts, temperature, etc. here which makes it very convenient to iterate ideas without having to go back to code. This allows users who are not developers to experiment and provide feedback at earlier stages of development of generative assistants.
You can start a new conversation from either the assistant screen or the main dashboard. Opening a conversation lets you interact with your agent using a basic chat interface. You can see a response from the Echo assistant here:
If multiple assistants are involved, you can direct messages to a specific one using the “Directed to” box. The message box also reports how many tokens the message you are sending will use.
The side panel lets you see which participants across users and assistants are in the conversation. You can also download a transcript of the conversation to use it in other contexts. If there are files in the conversation they will be displayed here, and more can be added.
Explore the GitHub Repository
Semantic Workbench is publicly available on GitHub at https://github.com/microsoft/semanticworkbench. The repository contains some examples in Python and .NET, demonstrating how agents can be written in different languages. These examples also show how to leverage Azure AI Content Safety for responsible AI bots, how to render complex content types such as Mermaid graphs, Markdown, HTML, and more.
Semantic Workbench is a game-changer for anyone looking to prototype and integrate Agentic AI solutions quickly and efficiently. Its versatility, user-friendly interface, real-time insights, and seamless integration capabilities make it an invaluable tool in the AI development toolkit. Whether you’re a seasoned developer or just starting, Semantic Workbench provides the flexibility and functionality you need to bring your intelligent assistant projects to life.
Microsoft Tech Community – Latest Blogs –Read More
How to Automate KB5040434 Installation on Multiple VMs?
Hey everyone,
I need to install the KB5040434 update on a bunch of VMs. This update is super important because it fixes several vulnerabilities. Doing this one by one is a huge hassle, and each VM also needs a restart after the update.
Is there a way to automate this process? Maybe using Azure Cloud Shell, an automation account, or some other Azure feature? Any tips or guides would be really helpful.
Thanks in advance!
Hey everyone,I need to install the KB5040434 update on a bunch of VMs. This update is super important because it fixes several vulnerabilities. Doing this one by one is a huge hassle, and each VM also needs a restart after the update.Is there a way to automate this process? Maybe using Azure Cloud Shell, an automation account, or some other Azure feature? Any tips or guides would be really helpful.Thanks in advance! Read More
Error message when archiving a Project
Hello,
When I save and publish my Project, I have a recurrent message saying that the project “could not be archived”.
With the following Error ID : 9000(0x2328)
The Project is well published but I still have this message.
Can you help me please ?
Kind regards
Camille
Hello, When I save and publish my Project, I have a recurrent message saying that the project “could not be archived”. With the following Error ID : 9000(0x2328) The Project is well published but I still have this message. Can you help me please ? Kind regards Camille Read More
dynamic groups with direct reports are no longer updating
Hello,
Is anyone using the Direct reports for dynamic rule in their organization without issues? Recently, we noticed a lot of our groups being outdated and the workaround is to change to static and then back to dynamic with the same rule. We had this exact issue 6months ago and Microsoft suggested that it was related to the fact we were using ” instead of “” although the same workaround worked for ”. All groups were updated to “” and worked until recently when we started getting a lot of reports of groups being outdated.
Thanks
Hello, Is anyone using the Direct reports for dynamic rule in their organization without issues? Recently, we noticed a lot of our groups being outdated and the workaround is to change to static and then back to dynamic with the same rule. We had this exact issue 6months ago and Microsoft suggested that it was related to the fact we were using ” instead of “” although the same workaround worked for ”. All groups were updated to “” and worked until recently when we started getting a lot of reports of groups being outdated. Thanks Read More
Checkbox in Excel showing True or False
When i share an Excel document created with the Excel app that has a checkbox with other users. Some users see it as True or false instead of a check box.
Please help
When i share an Excel document created with the Excel app that has a checkbox with other users. Some users see it as True or false instead of a check box.Please help Read More
Does Intune support expanding categories for mobile apps in the Graph API?
Hello everyone,
I’m using the Graph API to list mobile apps. I successfully use the $expand parameter with assignments, and I receive the mobile apps along with their assignments. However, when I try to use $expand with categories, I receive a 503 status response.
Here are the details:
This request works:
deviceAppManagement/mobileApps?$filter=(isof(‘microsoft.graph.win32LobApp‘) and isAssigned eq true)&$expand=assignments
This request does not work:
deviceAppManagement/mobileApps?$filter=(isof(‘microsoft.graph.win32LobApp‘) and isAssigned eq true)&$expand=categories
Is there support for expanding categories in Microsoft Intune using the Graph API?
Thank you!
Hello everyone,I’m using the Graph API to list mobile apps. I successfully use the $expand parameter with assignments, and I receive the mobile apps along with their assignments. However, when I try to use $expand with categories, I receive a 503 status response.Here are the details:This request works:deviceAppManagement/mobileApps?$filter=(isof(‘microsoft.graph.win32LobApp’) and isAssigned eq true)&$expand=assignmentsThis request does not work:deviceAppManagement/mobileApps?$filter=(isof(‘microsoft.graph.win32LobApp’) and isAssigned eq true)&$expand=categoriesIs there support for expanding categories in Microsoft Intune using the Graph API?Thank you! Read More
How to Recover Deleted Files from USB Drive for Free?
I accidentally deleted important files from my USB drive. These files are crucial for an ongoing project, and I’m hoping to recover them as soon as possible. I’ve tried a few basic recovery steps, but I’m not having any luck, and I’m uncertain about the best methods to use on a Windows PC. If anyone has experience or tips on how to recover deleted files from USB drive, I would greatly appreciate your help!
I’ve heard of various USB data recovery software options, but I’m not sure which ones are reliable or if I should try any built-in Windows features first. Additionally, I’m concerned about overwriting the deleted files, so I want to make sure I approach this correctly. I’m eager to recover my files and get back on track with my work.
I accidentally deleted important files from my USB drive. These files are crucial for an ongoing project, and I’m hoping to recover them as soon as possible. I’ve tried a few basic recovery steps, but I’m not having any luck, and I’m uncertain about the best methods to use on a Windows PC. If anyone has experience or tips on how to recover deleted files from USB drive, I would greatly appreciate your help! I’ve heard of various USB data recovery software options, but I’m not sure which ones are reliable or if I should try any built-in Windows features first. Additionally, I’m concerned about overwriting the deleted files, so I want to make sure I approach this correctly. I’m eager to recover my files and get back on track with my work. Read More
Merging subsidiaries under a single MPN
Wandered if anyone had any experience (and found any pitfalls!) of merging subsidiaries with separate MPN’s under a primary.
Obvious one is where the coop/rebate funding gets paid – can it remain at the subsidiary level or will it have to be paid at the top level?
Any other hints and tips?
I did find this Merge your partner account with another partner account | Microsoft Learn
Wandered if anyone had any experience (and found any pitfalls!) of merging subsidiaries with separate MPN’s under a primary. Obvious one is where the coop/rebate funding gets paid – can it remain at the subsidiary level or will it have to be paid at the top level? Any other hints and tips? I did find this Merge your partner account with another partner account | Microsoft Learn Read More
Dynamics 365 CRM version 9.1
Hi! I am reaching out to confirm some technical details regarding Dynamics 365 CRM version 9.1. Specifically, I would like to verify the following:
Maximum Number of Fields per Entity: what is the maximum number of fields allowed per entity in Dynamics 365 CRM version 9.1, including both system and custom fields?Maximum Size of a Single Record: what is the maximum size (in bytes) permitted for a single record within an entity?
I am currently managing an upgrade from version 8.1 to 9.1 and need to ensure our data and customizations are compliant with these limits to avoid any issues during the migration process.
If it’s better to ask this question in a different section, please redirect me. Unfortunately, I couldn’t find technical support, mayby you know where is it?
Thank you in advance for your help.
Hi! I am reaching out to confirm some technical details regarding Dynamics 365 CRM version 9.1. Specifically, I would like to verify the following:Maximum Number of Fields per Entity: what is the maximum number of fields allowed per entity in Dynamics 365 CRM version 9.1, including both system and custom fields?Maximum Size of a Single Record: what is the maximum size (in bytes) permitted for a single record within an entity?I am currently managing an upgrade from version 8.1 to 9.1 and need to ensure our data and customizations are compliant with these limits to avoid any issues during the migration process. If it’s better to ask this question in a different section, please redirect me. Unfortunately, I couldn’t find technical support, mayby you know where is it? Thank you in advance for your help. Read More
Dealing with Teams Chat Messages When People Leave
Tenant administrators know that they need to deal with mailboxes and OneDrive accounts when people leave, but what about Teams chat messages? Or rather, the information stored in the compliance records captured in Exchange Online mailboxes? Reviewing chat messages can be an ardous task, so perhaps the solution might be to export the compliance records to a PST for long-term retention.
https://office365itpros.com/2024/08/07/teams-chat-messages-leavers/
Tenant administrators know that they need to deal with mailboxes and OneDrive accounts when people leave, but what about Teams chat messages? Or rather, the information stored in the compliance records captured in Exchange Online mailboxes? Reviewing chat messages can be an ardous task, so perhaps the solution might be to export the compliance records to a PST for long-term retention.
https://office365itpros.com/2024/08/07/teams-chat-messages-leavers/ Read More
Bulk import of members
Hi,
Is it possible to bulk import members/users to a SharePoint site?
A project site must be created with 30 members. Is it possible to bulk import these members or do I have to manually type in each members e-mail?
These 30 members might also be added to other sites, therefor it would be beneficial with a list.
Best regards
Anne
Hi, Is it possible to bulk import members/users to a SharePoint site?A project site must be created with 30 members. Is it possible to bulk import these members or do I have to manually type in each members e-mail?These 30 members might also be added to other sites, therefor it would be beneficial with a list. Best regardsAnne Read More
Updated content missing in MS-102 study guide
Are you able to help get this resolved, please?
The MS-102 course had a major update at the end of June (with a minor correction on 4th July). But not all of the updated content was uploaded to the Study Guide on Microsoft Learn: https://learn.microsoft.com/en-us/training/courses/ms-102t00
There are several issues, but in particular, one updated module hasn’t been uploaded to the study guide at all. It contains some new content, and although the PPT slides have been updated, the study guide the students are seeing is out of date and missing the new content.
I reported all the issues on 12th July in the Microsoft Training Support forum, in the Microsoft Certified Trainer / Courses/Course Content / Course Content Problem section.
I was later told my report had been forwarded “to our Support Team” and I was given a case number, 2407120040010963.
But several weeks later, the content still hasn’t been updated. It’s not clear whether my report has actually been sent to the Content team, who would be the people who will correct this.
Are you able to find out whether the Content team have the report, and when they will upload the new content to the Microsoft Learn study guide?
This isn’t fair on our customers, who are paying for a course but are not seeing all of the course material in their study guide.
Are you able to help get this resolved, please? The MS-102 course had a major update at the end of June (with a minor correction on 4th July). But not all of the updated content was uploaded to the Study Guide on Microsoft Learn: https://learn.microsoft.com/en-us/training/courses/ms-102t00 There are several issues, but in particular, one updated module hasn’t been uploaded to the study guide at all. It contains some new content, and although the PPT slides have been updated, the study guide the students are seeing is out of date and missing the new content. I reported all the issues on 12th July in the Microsoft Training Support forum, in the Microsoft Certified Trainer / Courses/Course Content / Course Content Problem section. https://trainingsupport.microsoft.com/en-us/tcmct/forum/all/ms-102-some-content-not-updated-in-study-guide/1002be6d-384b-440a-8ff7-0b99f5bd9c43 I was later told my report had been forwarded “to our Support Team” and I was given a case number, 2407120040010963. But several weeks later, the content still hasn’t been updated. It’s not clear whether my report has actually been sent to the Content team, who would be the people who will correct this. Are you able to find out whether the Content team have the report, and when they will upload the new content to the Microsoft Learn study guide? This isn’t fair on our customers, who are paying for a course but are not seeing all of the course material in their study guide. Read More
CRM Dynamics 365 Advanced Find not working
Hi All
We have a CRM Dynamics 365 v9.1.21.5 implementation but our Advanced Find feature does not work.
We get a non-descript error upon attempting to invoke the feature.
Grateful for any advice.
Thank you.
Hi All We have a CRM Dynamics 365 v9.1.21.5 implementation but our Advanced Find feature does not work. We get a non-descript error upon attempting to invoke the feature. Grateful for any advice. Thank you. Read More
How Can I Download Videos from Pinterest without watermark?
I’m working on a project where I need to download videos from Pinterest for offline viewing and editing. However, I’m not sure how to do this effectively and safely. I’ve come across a few methods online, but they seem either too complicated or unreliable. Can anyone guide me on the best way to download videos from Pinterest directly to my Windows PC?
I’ve tried using various third-party Pinterest video downloader tools and browser extensions, but many of them don’t seem to work well with Pinterest, or they can be a bit confusing to use. If anyone has experience with reliable methods or tools for downloading videos from Pinterest, I would greatly appreciate your recommendations.
I’m working on a project where I need to download videos from Pinterest for offline viewing and editing. However, I’m not sure how to do this effectively and safely. I’ve come across a few methods online, but they seem either too complicated or unreliable. Can anyone guide me on the best way to download videos from Pinterest directly to my Windows PC? I’ve tried using various third-party Pinterest video downloader tools and browser extensions, but many of them don’t seem to work well with Pinterest, or they can be a bit confusing to use. If anyone has experience with reliable methods or tools for downloading videos from Pinterest, I would greatly appreciate your recommendations. Read More
Emails being marked as spam by microsoft domains only
Hello
We are sending emails from a developed platform via sendgrid. There are 7 ‘from’ addresses all sending from the same platform, so the characteristics are the same on all the emails such as sending IP which is exclusive to us. spf & dkim are fine. 5 of the addresses have a microsoft spam score of 1 and are delivered perfectly to all main clients, however 2 addresses are given a microsoft spam score of 8 and reliably go to junk when being sent to all microsoft domains such as outlook.com or hotmail.com. Out Office365 tenant using MS defender also gives a spam score of 1.
How can i find out why microsoft are giving these 2 email addresses poor spam scores?
Many thanks for any help
Steve
HelloWe are sending emails from a developed platform via sendgrid. There are 7 ‘from’ addresses all sending from the same platform, so the characteristics are the same on all the emails such as sending IP which is exclusive to us. spf & dkim are fine. 5 of the addresses have a microsoft spam score of 1 and are delivered perfectly to all main clients, however 2 addresses are given a microsoft spam score of 8 and reliably go to junk when being sent to all microsoft domains such as outlook.com or hotmail.com. Out Office365 tenant using MS defender also gives a spam score of 1.How can i find out why microsoft are giving these 2 email addresses poor spam scores? Many thanks for any helpSteve Read More
How to recover a corrupted MySQL Database?
You can utilize Convertertool’s MySQL Database Recovery Tool for effectively recovering corrupt MySQL databases. This professional software is designed to restore various database components, including tables, views, triggers, and table properties, without compromising data integrity. With an impressive average rating of 5 stars from 460 reviews, it is highly regarded for its ability to repair and recover MySQL databases efficiently. The tool ensures complete data extraction and accurate restoration of all database objects.
You can utilize Convertertool’s MySQL Database Recovery Tool for effectively recovering corrupt MySQL databases. This professional software is designed to restore various database components, including tables, views, triggers, and table properties, without compromising data integrity. With an impressive average rating of 5 stars from 460 reviews, it is highly regarded for its ability to repair and recover MySQL databases efficiently. The tool ensures complete data extraction and accurate restoration of all database objects. Read More
Training a Time-Series Forecasting Model Using Automated Machine Learning
Training a Time-Series Forecasting Model Using Automated Machine Learning
Hi, everyone! I am Paschal Alaemezie, a Gold Microsoft Learn Student Ambassador. I am a student at the Federal University of Technology, Owerri (FUTO). I am interested in Artificial Intelligence, Software Engineering, and Emerging technologies, and how to apply the knowledge from these technologies in writing and building cool solutions to the challenges we face. Feel free to connect with me on LinkedIn and GitHub or follow me on X (Twitter).
Have you ever found yourself stranded on the side of the road, hood raised, staring at a dead car battery? It’s a universal frustration—one that disrupts your daily routine and leaves you pondering how you could have avoided this inconvenience. Imagine a different scenario: your car, like a trusted companion, whispers to you weeks in advance, “Hey, your battery’s fading. Let’s plan a replacement.” This is not science fiction; it’s the power of time-series forecasting and automated machine learning (AutoML) in action.
In the dynamic landscape of machine learning, time-series forecasting plays a pivotal role. Whether predicting stock prices, weather patterns, or patient vital signs, understanding temporal data unlocks valuable insights. Time series analysis is becoming increasingly important with the advent of. Using time series data to predict when equipment will require maintenance before a failure occurs, drives operational efficiency and strategic decision-making in the manufacturing industry.
In this article, you will learn the intricacies of machine learning for time-series analysis, explain relevant concepts, address common pitfalls, and show how to successfully train a simple time series forecasting model using the Azure Automated Machine Learning (AML) Studio without any code.
Basic terms: I will define key concepts in time-series analysis.
Technical applications:
Forecasting algorithms: I will discuss different algorithms used for forecasting.
Error metrics: I will examine how to measure the accuracy of forecasts.
Workflow: I will outline the steps involved in the machine learning workflow for time-series forecasting.
Pitfalls and best practices: I will highlight common challenges in time series forecasting and how to avoid them.
Activity: I’ll walk you through an example of how to predict the lifespan of vehicle batteries using the Azure AutoML studio by training a simple Linear Regression model effortlessly.
Conclusion: I will reflect on the importance of AutoML in time-series forecasting.
Further reading: I have provided resources for those who wish to go further in this quest.
Time Series and Forecasting
A time series is a sequence of data points collected at regular intervals over time. You can think of it as a historical record—a timeline capturing everything from stock prices and weather patterns to sensor readings and customer behaviours. Time series forecasting involves using this historical data to predict future events or trends. It’s like gazing through a rearview mirror to navigate the road ahead.
Trend: The underlying direction in which the data is moving over time.
Seasonality: Regular patterns or cycles observed within specific time intervals.
Stationarity: A time series whose statistical properties do not change over time.
Autocorrelation: The correlation of a time series with its past and future values.
Lag: The amount of time between two related occurrences within the time series data.
Temporal Dependencies
Time series data exhibits inherent dependencies. Each observation relies on its past values. Whether analysing hourly website traffic or monthly sales, understanding these dependencies is fundamental for accurate modelling.
Automated Machine Learning (AutoML)
AutoML simplifies the complex dance of machine learning. It’s the democratization of AI, allowing no-code solution lovers and non-experts to harness its power. For time-series forecasting, AutoML automates model selection, feature engineering, and hyperparameter tuning. In other words, it takes care of the nitty-gritty, leaving us with actionable insights.
Technical Applications within Machine Learning for Time Series
Let’s explore some technical applications within machine learning as it relates to time series:
Curve fitting: Imagine fitting a curve to scattered data points. It’s like finding the best-fitting line through a cloud of dots. Curve fitting helps us understand underlying trends and patterns.
Regression: Predicting continuous outcomes—whether it’s tomorrow’s temperature, stock prices, or the lifespan of a car battery. Regression models help to capture these relationships.
Classification: Categorizing data into predefined classes. In time series, this might involve classifying stock market movements as bullish or bearish.
Forecasting: This is similar to peering into the crystal ball. It deals with questions or fears like, “Will sales spike during the holiday season?” Forecasting algorithms predict future data points based on historical patterns.
Segmentation/clustering: Grouping similar data points. Imagine clustering customers based on their purchasing behaviours or identifying distinct seasons in temperature data.
Anomaly detection: Spotting the odd one out. Anomalies—whether sudden spikes in website traffic or irregular heartbeats—deserve attention.
Reinforcement learning: Learning through trial and error. Reinforcement algorithms optimize decisions, like when to charge an electric vehicle to maximize efficiency.
Forecasting Algorithms Used in a Time-Series Forecasting Model Using Automated Machine Learning
Let me briefly explain some forecasting algorithms that are applied in time series forecasting:
Regression Algorithm: Models the relationship between variables. Linear regression is a workhorse here, and we will make use of this algorithm in this article.
AR (Autoregressive Model): The AR model predicts future values based on past values. It assumes that the current observation is related to its previous observations, with the influence of past values diminishing over time. This model is useful when there’s a clear trend or seasonality in the data.
MA (Moving Average Model): The MA model uses past forecast errors to predict future values. Instead of using past values of the variable itself, it focuses on past errors to capture random fluctuations in the time series. This helps smooth out noise and highlight underlying trends.
ARMA (Autoregressive Moving Average Model): The ARMA model combines AR and MA models. It incorporates autoregressive terms (past values) and moving average terms (past errors) to predict future values. This model is suitable when the data exhibits properties of both AR and MA models.
ARIMA (Autoregressive Integrated Moving Average Model): ARIMA takes it up a notch. It includes differencing (the “I” part) to make the time series stationary (i.e., removing trends and seasonality). ARIMA combines autoregressive, moving average, and differencing components to handle a wide range of time series patterns including trends and seasonality.
Prophet: Relax! It is not the mystical kind, though. Prophet handles seasonal effects, making it ideal for business forecasts.
Exponential Smoothing: A technique that applies decreasing weights to past observations.
Multivariate Regression: This can be likened to multiple predictors. It’s like juggling several balls—each representing a variable.
Recurrent Neural Network (RNN): This can be likened to memory-laden models. They process sequences of data, making them perfect for time series.
Forecast Temporal Convolutional Network (FTCN): FTCNs use convolutional layers for forecasting. Picture a neural network sifting through time.
Note: Each algorithm has its strengths and weaknesses, and selecting the appropriate one depends on the specific problem and data characteristics.
Error Metrics for Time Series Forecasting
Performance measurement matters and evaluating the performance of machine learning models for time series forecasting is crucial. Error metrics for time series help us measure the accuracy of our predictions. Key error metrics include:
Forecast Error: Also called prediction or residual error. It is the difference between observed and predicted values. Smaller errors mean better forecasts.
Mean Squared Error (MSE): It averages the squares of forecast errors. A low MSE indicates accurate predictions.
Root Mean Square Error (RMSE): The square root of MSE. It’s our trusty yardstick for model goodness.
Mean Absolute Error (MAE): Averages the absolute forecast errors. It’s robust and less sensitive to outliers.
Mean Absolute Percentage Error (MAPE): The mean absolute percentage difference between the forecasted and observed values.
Note: Understanding these metrics is vital to selecting the best algorithm and optimizing hyperparameters. For instance, MSE and RMSE are sensitive to outliers, while MAE is more robust.
Machine Learning Workflow for Time Series Forecasting
Let’s provide a high-level overview of the machine learning workflow for time series forecasting and cross-validation:
Data Collection involves gathering historical data points relevant to the problem over time and ensuring data quality and consistency.
Data Preprocessing involves cleaning and transforming data. Handle missing values and outliers. Also, it involves normalizing or scaling the data.
Model Selection involves choosing appropriate algorithms: ARIMA is good for classic models combining autoregressive and moving average components; deep learning (RNNs and LSTMs) is good for complex patterns; exponential smoothing is good for capturing seasonality.
Model Training involves splitting the data into training and validation sets and then training the model using historical data. It optimizes the model parameters.
Feature Engineering involves selecting relevant features from the data and creating informative input variables. It extracts relevant features like lags – past observations as features; rolling statistics – moving averages, volatility; and calendar features – day of the week, holidays.
Forecasting involves using the trained model to predict future values and evaluate forecast accuracy using metrics like root mean square error (RMSE).
Cross-validation involves assessing model performance using validation techniques and ensuring robustness across different time intervals.
Evaluation involves measuring model accuracy using error metrics and fine-tuning as needed for better results.
This workflow combines data preparation, modelling, and validation to create reliable time series forecasts.
Common Pitfalls and Best Practices in Machine Learning for Time Series
Overfitting: Avoid overly complex models that fit noise. Also, regularize and validate rigorously.
Ignoring Seasonality: Explicitly incorporate seasonal components. Also, utilize seasonal decomposition techniques like Seasonal-Trend decomposition using Regression (STR) and classical decomposition.
Not Handling Non-Stationarity: Apply differencing or detrending to achieve data stationarity. ARIMA elegantly handles this.
Example of How to Predict the Lifespan of Vehicle Batteries Using the Azure AutoML Studio
In the following activities, we will explore a practical application of AutoML for time-series forecasting. Specifically, I’ll show you how to use AutoML to predict the lifespan of vehicle batteries. Azure’s AML studio simplifies the process, allowing us to train a simple Linear Regression model effortlessly.
An Azure subscription is required to carry out the activities in this article. If you are a student, you can use your university or school email to sign up for a free Azure for Students account and start building on the Azure cloud with a free $100 Azure credit.
Activity: Creating a Model Using Automated Machine Learning
Step 1: Create an automated machine learning experiment using the Azure AI Studio
Open your web browser and go to ai.azure.com to open the new Azure AI Studio (figure 1).
Figure 1: The home page of Azure AI Studio.
ALT: Screenshot of the landing page for Azure AI Studio in Azure AI Studio Preview.
2 Go to Build on the Azure AI Studio and click on it to open the Build environment. Then click on the + New project button (figure 2) to open the Create a project environment.
Figure 2: In Azure AI Studio | Build environment, click + new project.
ALT: Screenshot of Azure AI Studio in the Build environment where you can start a new project.
Step 2: Creating your project
For the Project details section (figure 3):
At Hub name, key in your preferred name for your project’s hub in the input box provided.
At Subscription, select your existing subscription from the drop-down menu.
Select your Resource group. If you have any existing resource group, select it from the drop-down menu. Otherwise, click on Create new to create a new resource group, and click OK after that.
At Location, select your location from the drop-down menu. Then, click on the Next button at the bottom of the screen to go to the Review and finish.
Figure 3: Required and optional fields when creating a new project in Azure AI Studio.
ALT: Screenshot of required and optional fields when creating a new project in Azure AI Studio.
At the Review and finish section, click on Create a project button at the bottom of the screen to provision your workspace on Azure AI Studio. The new project is shown in figure 4.
Figure 4: The build environment project you created in the previous steps.
ALT: Screenshot of the project you created in Azure AI Studio.
Your provisioned workspace will display the window below. Go to the All Azure AI at the upper right of the screen and select the Azure Machine Learning Studio from the drop-down menu, as shown in figure 5.
Figure 5: Navigating from Azure OpenAI Studio to Azure Machine Learning Studio.
ALT: Screenshot of how to get from Azure OpenAI Studio to Azure Machine Learning Studio.
Under Authoring, select Automated ML in the left navigation bar. You’ll navigate to Azure AI Machine Learning Studio as shown in figure 6.
Figure 6: Home page for the Azure AI Machine Learning Studio after you’ve created a project.
ALT: Screenshot of Azure AI Machine Learning Studio.
Step 3: Create an automated machine-learning experiment
Select + New Automated ML job to start creating a new experiment (figure 7).
Figure 7: Create a new automated ML job.
ALT: Screenshot in Azure AI Machine Learning Studio to create a new automated ML job.
In the Training method section, select the Train automatically option and click the Start configuring job button at the bottom of the screen (figure 8).
Figure 8: In the steps of configuring an automated ML job, we’ll choose Train automatically, which saves writing code.
ALT: Screenshot showing the step for how to train your model. In this example we’re selecting the first option, Train automatically, which uses an automated job, so you don’t have to write code.
In the Basic settings section (figure 9), key in the name of your job and your experiment name.
Figure 9: In the steps of configuring an automated ML job, you’ll name the job and the name of the experiment.
ALT: Screenshot showing the step where you name the automated ML job and the name of the experiment.
In the Task and & data section (figure 10), for the Select task type, select Regression from the drop-down menu. For the Select data section, click the +Create button.
Figure 10: Creating a regression task type, which is used to predict continuous numeric values.
ALT: Screenshot of the Task type & data screen where you set the task type as Regression by selecting it from a list of task types.
In the Create data asset environment (figure 11), set the name of your data asset to training-formatted-dataset, and the type to Tabular from the drop-down menu. Then click on Next.
Figure 11: Setting details about the data asset you’re creating to use for training.
ALT: Screenshot of setting details about the data asset you’re creating to use for training.
In the Data source section (figure 12), select From web files and click the Next button.
Figure 12: Setting source details for your data asset.
In the Web URL section (figure 13), enter this URL: https://introtomlsampledata.blob.core.windows.net/data/battery-lifetime/training-formatted.csv, and click the Next button.
Figure 13: Entering a web URL for the page where the data will be retrieved from.
In the Settings section (figure 14), for the Column headers field, select All files have same headers. Scroll to the right to observe all of the columns in the data.
Figure 14: Settings for the data source.
Select Next to check the schema and then confirm the dataset details by selecting Next (figure 15) and then Create on the Review page. The dataset is created.
Figure 15: Checking the schema of the dataset.
Step 4: Set up your compute target
Select the training-formatted-dataset dataset (figure 16) and select Next to move to the Task settings page.
Figure 16: With the training dataset set, we’ll move on to task settings.
In the Task setting:
a. For the Target column: select Survival_In_Days (Integer) as shown in figure 17 and then click scroll down to set limits.
Figure 17: Setting the target column of the dataset.
b. Set the Metric score threshold to 0.09 as shown in figure 18.
Figure 18: Setting limits for the trials, max nodes, metric score threshold and more.
c. Set the Validation type to k-fold cross-validation from the drop-down menu and set the Number of cross-validation to 5. Then click the Next button.
In the Compute section:
a. Set your compute type to Serverless (figure 19).
b. Set your virtual machine type to CPU.
c. Set your virtual machine tier to Dedicated.
d. Select any affordable but standard virtual machine size. Click Next to review the job settings.
Figure 19: Configuring the compute resource for your training job.
In the Review section, click the Submit training job at the bottom of the screen (figure 20).
Figure 20. Review and change any settings you need to, then submit the training job.
Wait until the Run status becomes Running on the Run Detail page (figure 21).
Figure 21: The job is running.
Step 5: Review the experiment run results
The experiment will run for about 20 minutes. While it runs and once it completes, you should check the Models + child jobs tab on the Run Detail page (see figure 22) to observe the model performance of your selected run.
Figure 22: On the Model + child jobs tab you can see results about the job you ran.
In the Model window, notice the Normalized root mean squared error score under the Model summary in figure 23. The normalized root mean squared error measures the error between the predicted value and the actual value.
Figure 23: The model summary shows, among other things, the normalized root mean squared error score.
Click the Metrics tab on the Run detail page (figure 24) to examine the model performance for all selected metrics.
Figure 24: View model performance on the Metrics tab.
Conclusion
Training a time series forecasting model using Automated Machine Learning has the potential to revolutionize various industries, including vehicle manufacturing. By automating the process, we can create more efficient and accurate maintenance plans, leading to improved productivity and efficiency, and ensure that the vehicles we depend on are safer and more reliable. For instance, by analysing sensor data from vehicles, machine learning algorithms can predict when maintenance is required, reducing downtime, and improving overall efficiency. As we continue to explore this field, questions remain about the best ways to implement these tools and the potential for further advancements.
In this article, we have learnt that the strengths of AutoML lie in its accessibility and efficiency, . Nevertheless, embracing AutoML in Azure AI Studio is a step towards a smarter, more connected future. As we harness the power of Azure’s tools to refine our models, it is equally important to engage with communities and resources that foster growth and innovation.
For enthusiasts and professionals alike, you can leverage these resources to stay informed and inspired as you embark on your AI journey:
Microsoft AI Discord Community is a dynamic space to discuss and share AI-related insights.
Global AI Community offers a platform to connect with peers worldwide.
Azure Samples provides practical code examples to enhance your projects.
Microsoft AI Show delivers the latest updates in AI technology.
Further Reading
For deeper insights, explore the following resources:
“Time Series Forecasting in Python” by Marco Peixeiro is a comprehensive guide that teaches you to build predictive models from time-based data. It covers statistical models and introduces new deep-learning approaches for time series forecasting. It is suitable for data scientists familiar with Python and TensorFlow.
“Machine Learning for Time-Series with Python” by Ben Auffarth provides a thorough overview of popular Python time-series packages and modern machine-learning methods. It guides you through increasing the accuracy of your predictions by matching the right model with the right problem and mastering time series through real-world case studies. It is ideal for data analysts, data scientists, and Python developers with a basic knowledge of Python and statistics.
Microsoft Tech Community – Latest Blogs –Read More
MSGraph Subscription notification missing resource id
Hello all,
We are making use of MS Graph to create a subscription on a sharepoint site on drive (root) level (also the same tried for list level). This works fine and we receive notifications.
According to this page, for basic notifications, the id of the changed resource should come back in resourceData.
The resourceData property is in the body of the notification, but we only get the @odata.type property inside and nothing more.
Can anyone please explain what is wrong / what we are missing / how it should work?
Thanks!
Hello all, We are making use of MS Graph to create a subscription on a sharepoint site on drive (root) level (also the same tried for list level). This works fine and we receive notifications. According to this page, for basic notifications, the id of the changed resource should come back in resourceData. The resourceData property is in the body of the notification, but we only get the @odata.type property inside and nothing more. Can anyone please explain what is wrong / what we are missing / how it should work?Thanks! Read More
Sharepoint List column without Link
HI All,
I have created a list on sharepoint which tracks use case documents prepared or not. The problem is when there is document available I can save with the document link with Display Text as “Yes” but when document is not available I am not able to save without giving any link under Display Text “No”.
Is there a way to circumvent this without giving any link and save
Thanks in advance.
HI All, I have created a list on sharepoint which tracks use case documents prepared or not. The problem is when there is document available I can save with the document link with Display Text as “Yes” but when document is not available I am not able to save without giving any link under Display Text “No”.Is there a way to circumvent this without giving any link and save Thanks in advance. Read More