Uncategorized

Analysis: Weather in Amsterdam (November 9 – 16, 2019)

In a previous post I embedded a Jupyter Notebook that used DarkSky’s API to pull weather data about a random location in Amsterdam. In this post I display some of the graphs plotted from the data.

The data consists of 168 data points, these are hourly predictions of the weather in Amsterdam. The data ranges from November 9th 19:00 to November 16th 19:00.

Unfortunately, I was not able to properly save the plots as images. Therefore, to read the x axis you might have to resort to some eye squinting and zooming in (ctrl + scroll up).

Data cleaning

After I loaded the API data into a dataframe, I looked through DarkSky’s documentation to understand the data. The API call that I used mostly fetched data in units from the imperial system. As I am more familiar with the metric system, I used formulas to change to convert it to other units. Second, I changed the Unix time column in the dataframe to ‘datetime’. I also added a shortened version of the time for it to be more legible on the x axis of the plots.

You should also be able to fetch data in units from the metric system through the API. However, I wanted to play around with the units myself.

# Fahrenheit to celsius
df['temperature'] = (df['temperature'] - 32) * (5/9)
df['apparentTemperature'] = (df['apparentTemperature'] - 32) * (5/9)
df['dewPoint'] = (df['dewPoint']- 32) * (5/9)
# Miles to kilometers
df['visibility'] = df['visibility'] * 1.609344
# Unix to datetime
df['time'] = pd.to_datetime(df['time'],unit='s')
# Changing the datetime format
# I want to see: day, shortened month name & hour and minutes
df['time_short'] = df['time'].dt.strftime('%d %b %H:%M')

Graphs

In order to plot these graphs, I used matplotlib. To save the images, I used:

plt.savefig('temp.png')

Temperatures in Amsterdam

This line graph displays two different lines. The blue line predicts the actual temperatures per hour. The orange line shows what the actual temperature will feel like.

Precipitation in Amsterdam

This line graph shows the precipitation in milliliters per hour.

Wind speeds in Amsterdam

This line graph shows the wind speeds in Amsterdam in kilometers per hour.

Dew points in Amsterdam

This line graph shows the different dew points over the course of time in Amsterdam, the data points are in degree Celsius.

Want to use this weather API?

Go to DarkSky‘s website, make an account and get your own free key!

Uncategorized

Jupyter Notebook: Weather in Amsterdam

I found an interesting and free API: darksky. Darksky allows you to pull weather related data, from any location you desire. All you have to do is sign up and you’ll receive a key that will give you access to their API.

I pulled hourly data from their API for a random location in Amsterdam. Below I have embedded a Jupyter Notebook in which I have plotted different weather related factors such as: temperature, wind speed, visibility, and precipitation.

Uncategorized

How to embed your Jupyter Notebook into a WordPress post. No plugin needed. [beginner’s guide]

You’ll need:
– Jupyter Notebooks in ‘tree mode’
– Jupyter Notebook terminal or Linux terminal
– A Github account
– A WordPress account
– The ‘Gist’ extension

This guide will first help you to create a ‘gist’ of your notebook, which will then be embedded into your wordpress post.

Installing the gist extension on my Windows machine

To get the gist extension up and running on my Windows machine I ran the following code in the Anaconda terminal:

pip install jupyter_contrib_nbextensions

pip install jupyter_nbextensions_configurator

Installing the gist extension on my Linux machine

The windows installation method did not work for my Linux machine. To achieve the same thing, I used the following code in my Linux terminal:

conda install -c conda-forge jupyter_contrib_nbextensions

Enabling the Gist extension

Next, make sure that you’re viewing the Jupyter Notebook you want to embed in your WordPress in ‘tree mode’.

Second, we are going to enable the ‘Gist’ extension. To do this, go to the Edit > nbextensions config. This will open a new window with a list of extensions. Look for ‘Gist-it‘. When you click on ‘Gist-it’. You’ll be able to set the parameters for the extension.

The first parameter we need to set is the ‘Github personal access token‘. To get this token, you’ll need to go to your personal Github account. This token can be generated at: https://github.com/settings/tokens. Click on ‘generate new token‘. Then fill in a name for the token in the ‘Note‘ textbox. After that, select ‘gist‘. Right after creating the token, you’ll see your own personal access token. Copy it. DO NOT share this token with other people.

Set the parameters for the gist extension in your nbextension config window.

Get your personal access token on your Github account. Click “generate new token”.

After copying the personal access token from your Github account, go back to the nbextension config window and paste the token into the first parameter field ‘Gitbub personal access token‘. Next, check the ‘Gists default to public‘ box.

Sharing the notebook to gist

Gist.

Go to the notebook you would like to add to your Github gist (in tree mode). And click on the Github logo that is now present in the Jupyter Notebook task bar.

When you click on the logo a new window will appear that asks for a gist id. If this is the first notebook your adding to your gist, you won’t need to fill in an id. So skip this field. Check the ‘make the gist public box‘. And add a description, this will be the title of your gist.

Go to your gists on Github. You can easily access these by clicking on your profile picture in the righthand corner. A dropdown menu will appear. Click on ‘your gists‘. If it went well, you’ll see your Jupyter notebook on this page.

Embedding your gist on WordPress

Open the gist by clicking on it. Then copy the URL from your browser. This is the URL to your gist. Make a new WordPress post. Make sure your WordPress ‘block’ is switched to HTML. Paste the URL into the HTML block. And you’re done. Publish your post and look at your site. Your first Jupyter notebook on WordPress.

Big Data

Big Data: volume, velocity, variety… and value

Doug Laney introduced us to the first 3 Vs of big data back in 2001. The three original Vs were volume, velocity, and variety. As we have amassed more data over time, the volume of data has increased. Think about sensor-meters on machines. We can now investigate how machines in a factory or a warehouse are doing based on continuous sensor readings. Furthermore, through our smart devices and social media platforms, even more data is being generated. The emergence of the internet of things (IoTs) has brought us a goldmine of datasets.

What makes big data even more special is that this data arrives repeatedly in realtime. We can monitor machines as they drill oil, likes on social media posts are instantly registered, and rainfall measures are continually measured and recorded. These three examples fall under the second V, velocity. The speed at which data arrives has increased incredibly over the last decades. This has been facilitated by the increase in bandwidth and internet speeds.

Moreover, we have a myriad of different types of data formats now. Think about the different types of data an online store can generate. First, there are the click paths that people go through on the website. The information the customer fills in on the website. What items a customer ends up buying. What payment method they used. And those are just a few examples. All of these actions generate different data formats that need to be stored, processed, and analyzed.

Other scholars and big data engineers have added other Vs to the mix. Examples are variability, veracity, and visualization. But in this post I would like to discuss a different V, referred to as value. Big data on the surface of things seems great. We have a lot of information. Which pleases those who adhere to the ‘law of large numbers’. In statistics there are many principles that point toward the idea of bigger is better. Think of the central limit theorem, the larger the sample size, the more likely the sample will morph into a normal distribution. And increasing the sample size is all about getting an answer that is closer to ‘reality’. We want a sample represents the population.

But let’s say we’re a company. We have loads of data. Statisticians would be jealous of our datasets. So much data. But what now? We let the data sit in a database or a distributed file system for a couple of weeks before we analyze it. We analyze it, and oops – it’s already too late. The interesting trends we found through our analysis are now irrelevant. That is why we should seek value in our data. It means acting fast, it means performing the right analyses. It also means realizing what we want to achieve with our data. Do we want to increase sales? Do we want to understand our population better? Do we want to facilitate better decision-making processes?

We have to know what we’re doing, that is why the value principle is so important. This principle is based on our other Vs as well, the volume, variety, and velocity of the data. Value is often overlooked but it is definitely imperative to your big data solution.

social media

social media marketer: “you need a level of superficiality for social media”

This post is part of a series that looks at social media from different perspectives. My second interview was with a social media marketer.

We first start to talk about social media itself. I am curious to hear about her personal opinion on online platforms. She explains to me that she has a love-hate relationship with them. She is concerned about the privacy breaches and bad algorithms, content that she liked once, will repeatedly show up. However, she likes the fact that it is easy to get updates on the people she knows.

If you post it, it has to be perfect

People refuse to participate
My interviewee has worked with companies to improve their social media. For this she required participation from the company. Though this was hard to achieve. People are excited about social media but refuse to participate. They’ll tell her “if you post [something], it has to be perfect” or “people do not want to see my content”. Thus, the people within companies do not believe their content is exciting enough to be shared or that they will not be able to live up to a certain level of perceived perfection that they feel is required. Furthermore, they experience difficulties posting content due to the strict rules the management has laid on them. And on top of that, people experience self-censorship when engaging with social media. Which is fueled by social pressures from other coworkers or their own strive for perfection. A sentiment the social marketer also shares with the people within a company is that there is an anxiety that comes from ‘playing’ around with company’s brands. You don’t want ruin a company’s image.

#hashtag#hashtag#hashtag#hashtag#hashtag

To post is to exist
But the social media marketer doesn’t just look at social media from her work perspective, but also as a consumer. If she’s looking for a specific company, and they haven’t posted for a month, she’ll start to question if they’re still around. Another social media pet peeve of hers is social media managers who do not know how to use social media. As an example she mentions people who do not put spaces between their hashtags. On some platforms this will result in one long hashtag that won’t function properly. On the other hand, she also wonders about self-proclaimed social media experts who claim to be able to help you expand your clientele. If these experts spend a lot of time on social media explaining their expertise… how will they have time left to actually help their clients? This way they are signaling that they might now have work. She compares it to ‘clean desk policies’. If people have a clean desk at work, are they spending time working or cleaning their desks? A clean desk then signals that they might not be working after all. A messy desk suggests the opposite.

Don’t think about all the things that can go wrong

You need a level of superficiality
Over the years she has learned that with social media you can’t go too ‘deep’, you need a level of superficiality to practice social media marketing. And you definitely shouldn’t “think about all the things that can go wrong”. A problem she faced while working on social media related content is that she would overthink it. You just need to think about your target audience and consider your statistics. People should look at the ratio between website visits and the call to action. If people merely visit your website, but don’t buy your products, then something is clearly wrong. If you are not getting that many visits, but most visitors buy your products, you’re on the right path. She explains to me that people have been making this mistake for decades. The same principle holds for flyers people would receive in the mail. If not done correctly, they would also not lead to more sales. She feels that there is a discrepancy between sales and marketing, which she calls ‘waste’. Both departments will end up blaming each other for the lack of sales. There is no group looking at why this waste is happening.

Who am I communicating with?

Doing business is still personal
She recommends businesses to retain a personal touch in their online communication and on their platforms in general. This could be in the form of pictures of employees or by being able to see names of the people you communicated with. When she interacts with businesses online she asks herself “who am I communicating with?”. Knowing who the person is and if they have talked before would beg understanding. For instance, in customer service, does the person know her case or does she have to explain it again? “Doing business is still personal”. We end the interview on the note that companies cannot survive without an online presence, as it happens facilitate the ability to easily find information about the company. She adds: “when I hear about a company [offline], I will look them up online first”.

social media

Linguistics student: “discourse is directer and harsher on social media”

This post is part of a series that looks at social media from different perspectives. My first interview was with a student in linguistics and American studies.

Language
My interviewee explains to me that the language on each social media platform is different. He names a couple of platforms such as Twitter and 4Chan that have distinct ways of interaction and incorporate memes into their communication. However, groups on these platforms also have different ways that they utilize language, ‘Black Twitter’ is an example of this. Online users learn ways of setting up jokes that is only recognizable to them and their online peers, which is facilitated through the language they use. Furthermore, younger generations will develop parts of their identity through online interactions. He names interests and political affiliations as examples.

Some people think that language deteriorates because of social media. But my interviewee disagrees. He argues that language becomes more standardized and globalized as a result of its role on social media. Consequently, people will be able to communicate with one another with much more ease. However, I then wondered if it would be harder to discuss more complex topics online using this standardized form of language. He disagreed. He lists simple topics that will be easier to discuss with this type of language and further explains to me that abstract topics such as politics and philosophy will still be discussed, but just using different language.

Discourse: 4Chan vs Twitter
He believes that discourse could depend on the topic that is discussed on social media and explains to me that there isn’t necessarily one type of discourse that is inherent to social media. However, he does see a distinction between the discourse in older forms of media and social media. The anonymity influences the discourse on social media platforms, it is much directer and harsher now. Yet, the degree of anonymity varies between platforms, which causes some discourse to be even harsher in some online settings. He uses 4Chan and Twitter as examples again, explaining that users on Twitter have more identifiable characteristics than 4Chan users. Therefore, the harshness on 4Chan is expected to be more severe.

The World and Social Media
The bigger platforms that are used in the ‘west’ tend to originate from the United States. However, while these websites are American, countries filter the content on the platforms. He comes up with a personal example. In order to see more American content on YouTube, he had to change his settings. However, it appears that the U.S. is a forerunner when it comes to online trends and challenges. But ‘nonwestern’ countries are also starting to become influential online. Tiktok and anime are two prime examples of this.

Social Media is a double-edged sword

Advantages vs. Disadvantages
He definitely thinks there are advantages to social media. First, he believes that he has learned a lot about different cultures and people through the use of social media. Though, there is still a possibility that you end up in a filter bubble, which is a disadvantage. Furthermore, teenagers might spend less time outside and adults might spend less time talking face-to-face. Yet, he does believe that it could be easier to find like-minded individuals to form a connection with. It all depends on how you look at it.

Social media has the potential to have a positive effect. But in its current form it does not. Especially since bigger corporations own the platforms, which they run for profit. Their objective is not to create a human experience online. Each recommendations seems to serve to pull you to click or buy with the goal to profit. Furthermore, there are inequalities online, since the majority have a strong presence, they influence the recommendations you see online. Minorities are underrepresented in online settings. Social media is socially segregated.