1/55
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
model
is a simplified representation of a real-world system, built to study, predict, or analyze behavior.
Not exact copies but abstractions → focus only on key features relevant to the problem.
Modeling
is the application of methods to analyze complex, real-world problems in order to make predictions about what might happen with various actions
Variables
These are the fundamental "parts" or "actors" within the model, representing physical things, concepts, or processes.
These are elements that change.
Examples:
Population size
Temperature.
Parameters
Refers to constants that define system properties.
Examples:
Growth rate
Infection rate.
Equations/Rules
Relationships that describe how variables change.
computational model
is a simplified representation of a real-world object, process, or system that is created using mathematical relationships and computational methods.
Instead of experimenting directly on real systems, scientists use models to understand behavior, predict outcomes, and evaluate different scenarios.
deterministic model
always produces the same output when given the same input.
SIR model (Susceptible, Infected, Recovered)
is a simple mathematical and computational model used to understand how a disease spreads through a population.
Susceptible
People who can still catch the disease.
Infected
People who currently have the disease and can spread it.
Recovered
People who have recovered and are assumed to no longer spread the disease.
β (Beta) – Infection/Transmission Rate
This represents how effectively the disease spreads through contact.
γ (Gamma) – Recovery Rate
This represents how quickly infected people recover.
Probabilistic/Stochastic Models
includes randomness or probability.
The same input may produce different outputs because uncertain events are involved.
Uses probability
Assigns chances or likelihoods to different events or outcomes.
Includes random variables
Uses variables whose values can change randomly depending on the event.
Models uncertainty
Represents situations where the exact outcome cannot be predicted with certainty.
Produces multiple possible outcomes
A single input can result in different outputs because of random or uncertain factors.
More realistic
Can better represent real-world situations where outcomes are not always predictable.
Represents uncertainty
Considers randomness and unexpected events in a system.
Useful for complex systems
Helps study systems that are difficult to solve using simple mathematical models.
More difficult to analyze
Requires more complex calculations and methods.
Results vary from one simulation to another
Because randomness is involved, different simulation runs may produce different results.
Naïve Bayes
is a probability-based classification algorithm used to predict the category of data.
It assumes that the features are independent of one another.
It chooses the class with the highest probability as the prediction.
It is commonly used for spam detection, text classification, sentiment analysis, and medical diagnosis.
Bayes’ Theorem
Naïve Bayes uses this to calculate the probability of each possible class.
static model
we do not consider time, so that the model is comparable to a snapshot or a map.
resents a system at one point in time.
It is like a snapshot because time does not change.
dynamic model
time changes, so that such a model is comparable to an animated cartoon or a movie.
Represents a system that changes over time.
It is like a movie or animation because we observe changes from one moment to another.
Continuous model
time changes continuously and smoothly
Changes happen smoothly and continuously, without clear steps or breaks.
discrete model
time changes in incremental steps
Changes happen in separate steps or intervals.
modeling process
is cyclic and closely parallels the scientific method and the software life cycle for the development of a major software project.
is iterative; models are built, tested, refined, and reapplied
Step 1: Analyze the Problem
Identify and clearly define the problem you want to address or the question you want to answer.
Define the objectives, research questions, and boundaries.
Step 2: Formulate a model
In this stage, we design the model, forming an abstraction of the system we are modeling.
Build assumptions, identify variables and relationships
Abstraction
is creating a simplified representation of a real-world scenario, focusing only on the important parts and leaving out unnecessary details.
Step 2: A. Gather data
We collect relevant data to gain information about the system’s behavior.
Step 2: B. Make simplifying assumptions and document them.
In formulating a model, we should attempt to be as simple as reasonably possible.
Thus, we frequently decide to simplify some of the factors and to ignore other factors that do not seem as important.
Most problems are entirely too complex to consider every detail and doing so would only make the model impossible to solve or to run in a reasonable amount of time on a computer.
Moreover, factors often exist that do not appreciably affect outcomes.
Besides simplifying factors, we may decide to return to Step 1 to restrict further the problem under investigation.
Step 2: C. Determine variables and units.
We must determine and name the variables.
An independent variable is the variable on which others depend. In many applications, time is an independent variable.
The model will try to explain the dependent variables.
To simplify the model, we may decide to neglect some variables (such as air resistance), treat certain variables as constants, or aggregate several variables into one.
While deciding on the variables, we must also establish their units, such as days as the unit for time.
independent variable
is the variable on which others depend.
Step 2: D. Establish relationships among variables and sub-models.
If possible, we should draw a diagram of the model, breaking it into sub-models and indicating relationships among variables.
To simplify the model, we may assume that some of the relationships are simpler than they really are.
Step 2: E. Determine equations and functions
While establishing relationships between variables, we determine equations and functions for these variables.
Many computational science models involve differential equations, or equations involving a derivative.
3. Solve the model.
This stage implements the model. It is important not to jump to this step before thoroughly understanding the problem and designing the model.
Otherwise, we might waste much time, which can be most frustrating. Some of the techniques and tools that the solution might employ are algebra, calculus, graphs, computer programs, and computer packages.
Our solution might produce an exact answer or might simulate the situation. If the model is too complex to solve, we must return to Step 2 to make additional simplifying assumptions or to Step 1 to reformulate the problem.
4. Verify and interpret the model’s solution .
Once we have a solution, we should carefully examine the results to make sure that they make sense (verification) and that the solution solves the original problem (validation) and is usable.
The process of verification determines if the solution works correctly, while the process of validation establishes if the system satisfies the problem’s requirements.
verification
solving the problem right
Checks whether the model and calculations work correctly and there are no errors.
validation
solving the right problem
Checks whether the model actually represents the real-world problem and produces useful results.
5. Report on the model.
is important for its utility.
Perhaps the scientific report will be written for colleagues at a laboratory or will be presented at a scientific conference.
Reporting
means documenting and communicating the model, its process, and its results to others.
Explain how the model was created.
Present the results and findings.
Explain the limitations and assumptions.
Share the results with colleagues, researchers, or other users.
6. Maintain the model.
As the model’s solution is used, it may be necessary or desirable to make corrections, improvements, or enhancements.
In this case, the modeler again cycles through the modeling process to develop a revised solution.
Corrections
Fix errors or problems found in the model.
Improvements
Make the model more accurate or efficient.
Revised solution
After finding problems, we go through the modeling process again and create an improved model.
Python
is a high-level, general-purpose programming language known for its simplicity and readability.
Open-source and cross platform
Large ecosystem of scientific libraries
NumPy (Numerical Python)
is a fundamental Python library for numerical and scientific computing.
It provides support for working with large, multi-dimensional arrays and matrices, along with a collection of mathematical functions to operate on these arrays efficiently.
SciPy (Scientific Python)
It builds on NumPy (which provides fast array operations) and adds a wide collection of algorithms and functions for more advanced tasks in computational science, engineering, and applied mathematics.
It used for scientific computations
Matplotlib
A foundational Python plotting library for creating static, animated, and interactive plots.
It uses, 2D plotting (line & scatter plots, histogram, bar charts, etc.
Seaborn
A high-level visualization library built on top of Matplotlib.
It focuses on statistical graphics and makes plots prettier and simpler with less code.
It used for scientific computations
Uses specialized plots (distribution plots, heatmaps, regression & pair plots, etc
SimPy (Simulation in Python)
It’s a library for modeling and simulating real-world systems where events happen at discrete points in time
Uses Python generators (yield) to model processes
Widely used for queueing systems, logistics, resource allocation, and operations research.
Simulation
Running a model to study system behavior under different conditions.