{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Homework 2\n",
"\n",
"**OBJECTIVES**\n",
"\n",
"- Define four function types from class (*linear, quadratic, exponential, trigonmetric*)\n",
"- Represent functions using symbols, tables, words, and graphs\n",
"- Choose appropriate functions to model real world data\n",
"\n",
"\n",
"### Problem I: Media Consumption\n",
"\n",
"This assignment focuses on reviewing and extending our understanding of the idea of a mathematical function. Prior to completing the problems, I ask that you visit the results of the google search: [\"mathematical functions\"](https://www.google.com/search?q=mathematical+functions&rlz=1C5CHFA_enUS884US884&oq=mathematical+functions&aqs=chrome..69i57j0l7.3363j0j4&sourceid=chrome&ie=UTF-8) and watch a youtube video or read a wikipedia page -- consume some result of this search; maybe 10 - 20 minutes. Also, watch the video below. After doing this, write a few sentences about what you found and whether or not you felt the resource was helpful and why."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
"''')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem 2: Functions\n",
"\n",
"Given the following symbolic representations of the functions and their domains, present a table and graph of the function.\n",
"\n",
"1. $f(x) = x^3 - x^2 + x - 2; \\text{on} ~ -10 \\leq x \\leq 10$\n",
"2. $f(x) = 100(0.46)^x; \\text{on} ~ 0 \\leq x \\leq 10$\n",
"3. $f(x) = 2\\sin(x^2); \\text{on} ~ -\\pi \\leq x \\leq 3\\pi$"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"#answer 1 here"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"#answer 2 here"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"#answer 3 here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem 3: Data\n",
"\n",
"For each of the problems below, you are given a table and graph of a real world dataset. You are asked to choose what kind of function you believe would be a good model of the data; *linear, quadratic, exponential*, or *trigonometric*.\n",
"\n",
"1. The dataset below is on measurements of three different species of *iris* flowers. We have plotted the petal length on the horizontal axis and petal width on the vertical axis. What kind of function would be a more appropriate model for this data where we input a measure of a petal length, and output a width? "
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"iris.plot('petal length (cm)','petal width (cm)', kind = 'scatter', title = 'Petal Length vs. Petal Width')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. The data below is from Motor Trend magazine and contains data on different models of cars from multiple manufacturers. We have plotted the measurements for horsepower on the horizontal axis and miles per gallon on the vertical axis. What kind of function do you think would be an appropriate model for this?"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [],
"source": [
"cars = pd.read_csv('https://raw.githubusercontent.com/jfkoehler/calc_spring_2020/master/notebooks/data/mtcars.csv')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"cars.plot('hp', 'mpg', kind = 'scatter', title = 'Horsepower vs. Miles Per Gallon')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. The data below comes from the gapminder organization and contains data on countries GDP, Life Expectancy, and Population. We have plotted the data from life expectancy in 2007 on the horizontal axis and GDP on the vertical axis. What kind of relationship would be an appropriate model for this relationship?"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [],
"source": [
"gapminder = pd.read_csv('https://raw.githubusercontent.com/jfkoehler/calc_spring_2020/master/notebooks/data/gapminder_all.csv')"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"gapminder.plot('lifeExp_2007', 'gdpPercap_2007', kind = 'scatter', title = 'Life Expectancy vs. GDP')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"4. The data below comes from the Central Park weather station for the maximum temperature on each day since 1870. We have plotted the most recent five years of the data where the date is on the horizontal axis and temperature on vertical. What kind of a function would be the right model for this data?"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [],
"source": [
"temps = pd.read_csv('https://raw.githubusercontent.com/jfkoehler/calc_spring_2020/master/notebooks/data/2017018.csv', usecols=['DATE', 'TMAX'], \n",
" parse_dates = ['DATE'], index_col='DATE')"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
TMAX
\n",
"
\n",
"
\n",
"
DATE
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
1870-01-01
\n",
"
43
\n",
"
\n",
"
\n",
"
1870-01-02
\n",
"
54
\n",
"
\n",
"
\n",
"
1870-01-03
\n",
"
41
\n",
"
\n",
"
\n",
"
1870-01-04
\n",
"
35
\n",
"
\n",
"
\n",
"
1870-01-05
\n",
"
34
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" TMAX\n",
"DATE \n",
"1870-01-01 43\n",
"1870-01-02 54\n",
"1870-01-03 41\n",
"1870-01-04 35\n",
"1870-01-05 34"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"temps.head()"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Temperatures in Central Park')"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"temps['2015':].plot()\n",
"plt.title('Temperatures in Central Park')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Using Models\n",
"\n",
"For each of the questions below, you are given a model that your team of data scientists have developed based on a given dataset. You are asked three main questions:\n",
"\n",
"1. Evaluate model at given value.\n",
"2. Compare model prediction to actual value.\n",
"3. Discuss whether the model is a good model for the data and why or why not."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Problem 5: Iris Data\n",
"\n",
"- **Model**: petal length = petal width $\\times$ .7 or $f(x) = .7x$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Use the example observation below to compare the offered model to the real data. How close was your prediction? Was this good or bad? Would you recommend this model for other data? Explain."
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"sepal length (cm) 4.6\n",
"sepal width (cm) 3.1\n",
"petal length (cm) 1.5\n",
"petal width (cm) 0.2\n",
"Name: 3, dtype: float64"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"iris.iloc[3]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Problem 6: Cars\n",
"\n",
"- **Model**: mpg = hp/10 or $f(x) = \\frac{1}{10} x$ . \n",
"\n",
"Same questions above using the test point below."
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Car Dodge Challenger\n",
"mpg 15.5\n",
"cyl 8\n",
"disp 318\n",
"hp 150\n",
"drat 2.76\n",
"wt 3.52\n",
"qsec 16.87\n",
"vs 0\n",
"am 0\n",
"gear 3\n",
"carb 2\n",
"Name: 21, dtype: object"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cars.iloc[21]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Problem 7: Textbook Problems\n",
"\n",
"The questions below come from the [OpenStax](https://openstax.org/books/calculus-volume-1/pages/1-chapter-review-exercises) Calculus text. Feel free to review the chapters for additional examples of functions. Answer the questions below:\n",
"\n",
"------\n",
"\n",
"For the following problems, consider a restaurant owner who wants to sell T-shirts advertising his brand. He recalls that there is a fixed cost and variable cost, although he does not remember the values. He does know that the T-shirt printing company charges $\\$440$ for 20 shirts and $1000 for 100 shirts.\n",
"\n",
"a. Find the equation $C = f(x)$ that describes the total cost as a function of number of shirts and b. determine how many shirts he must sell to break even if he sells the shirts for $10 each.\n",
"\n",
"\n",
"b. Determine how many shirts the owner can buy if he has $8000 to spend.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"------\n",
"\n",
"For the following problems, consider the population of Ocean City, New Jersey, which is cyclical by season.\n",
"\n",
"a. The population can be modeled by \n",
"\n",
"$$π(π‘)=82.5β67.5cos[(π/6)π‘]$$\n",
"\n",
", where π‘ is time in months (π‘=0 represents January 1) and π is population (in thousands). During a year, in what intervals is the population less than 20,000? During what intervals is the population more than 140,000?\n",
"\n",
"b. In reality, the overall population is most likely increasing or decreasing throughout each year. Letβs reformulate the model as \n",
"\n",
"$$π(π‘)=82.5β67.5cos[(π/6)π‘]+π‘$$\n",
"\n",
", where π‘ is time in months ( π‘=0 represents January 1) and π is population (in thousands). When is the first time the population reaches 200,000?\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Problem 8: Twitter\n",
"\n",
"Look over the following twitter post from Grant Sanderson (creator of the [3blue1brown](https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw) youtube channel): \n",
"\n",
"https://twitter.com/3blue1brown/status/1002248647172472832?lang=en . \n",
"\n",
"What do you think the probability of getting between 490,000 and 510,000 heads is?\n",
"\n",
"Read some of the responses to the post. Anything of interest?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Problem 9: The Triangle\n",
"\n",
"
\n",
" \n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Can you find a pattern that is a linear pattern in the triangle?\n",
"2. Can you find a quadratic pattern in the triangle?\n",
"3. Add the values in the rows shown above. Is there a pattern here? "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 4
}